フォームに2つの入力日があります。1つはstart_dateで、もう1つはend_dateです。start_dateがすでに入力されている場合にend_dateが必要であることを確認する検証を実行しようとしています。
その部分を実行しましたが、正常に機能しないため、他のチェックを追加できません。「date_format:Ymd」を使用すると、フィールドは常に必須になります。
「after_or_equal:」を使用する場合、start_dateがnullの場合、フィールドは常にエラーを返します。
return [
"start_date" => "nullable|date_format:Y-m-d",
"end_date" => new RequiredIf($this->start_date !== NULL).'|date_format:Y-m-d|after_or_equal:start_date',
];
これが私のバリデーターです。「date_format」と「after_or_equal」の検証を削除すると機能しますが、これらすべてのデータを検証する必要があります。
最初にnull許容ルールを使用してから、required_withと残りのルールを使用する必要があります。
$this->validate($request, array(
'start_date' => "nullable|date_format:Y-m-d",
'end_date' => 'nullable|required_with:start_date|date_format:Y-m-d|after_or_equal:start_date',
));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加