私はLaravel 5.3アプリケーションと、ユーザープロファイル値を送信する更新フォームを持っています。そのうちの1つはユーザー画像でもあります。私はそのための隠し入力フィールドを作成しています。ユーザーが新しい画像をアップロードしていない場合でも、古い画像値の隠しフィールドが表示されます。Laravelの検証ルールは、フィールドが空白の別のフィールドが必要な場合
<input type="hidden" class="form-control" name="old_image" value="{{ $player->image_filename }}" id="oldImage">
画像を削除すると、非表示の入力値は空になります。
document.getElementById('oldImage').value = '';
これはユーザー画像の更新を考えた方法です。しかし、私はそのフォームのバリデーションルールを設定する方法を知らない。これに類似して何か:
public function rules()
{
return [
'first_name' => 'required|max:50',
'last_name' => 'required|max:50',
'birthday' => 'required',
'image' => required if old_image empty
];
}
私は'image' => 'required_if:old_image, null',
と'image' => 'required_without:old_image',
ともして試してみましたが、それらのどれも不足している画像のためのいずれかのエラーメッセージを示しませんでした。
http://stackoverflow.com/questions/41697979/ laravel-5-3-use-custom-validation/41698396#41698396 – Bugfixer
または条件 – Bugfixer
に条件を入力すると、required_if検証ルールを使用できます。参考:https://laravel.com/docs/5.3/validation – mith