私は Laravel 5.3 アプリと、ユーザー プロファイル値を送信する更新フォームを持っています。そのうちの 1 つはユーザー画像で、そのための非表示入力フィールドを作成しています。そのため、ユーザーが新しい画像をアップロードしていない場合でも、古い画像値を持つ非表示フィールドがあることを確認できます。
<input type="hidden" class="form-control" name="old_image" value="{{ $player->image_filename }}" id="oldImage">
画像を削除すると、非表示の入力値は空になります。
document.getElementById('oldImage').value = '';
これが、ユーザー画像を更新する方法の 1 つです。ただし、そのフォームの検証ルールを設定する方法がわかりません。次のようなものになります。
public function rules()
{
return [
'first_name' => 'required|max:50',
'last_name' => 'required|max:50',
'birthday' => 'required',
'image' => required if old_image empty
];
}
と を試しましたが'image' => 'required_without:old_image',
、'image' => 'required_if:old_image, null',
どちらも画像が見つからないというエラー メッセージは表示されませんでした。次のようなエラー メッセージが表示されます。
ベストアンサー1
2つのルールで作業できます
'image' => 'required_if:old_image'
または:
'image' => 'required_without:old_image'