想定環境
- Laravel5.5以降
- 入力フォーム
「開始日時」(start_datetime)
「終了日時」(end_datetime)
がある
実例
1・片方入力された場合はどちらも必須にする判定
public function rules()
{
$rules = [
'start_datetime' => 'nullable|required_with:end_datetime',
'end_datetime' => 'nullable|required_with:start_datetime'
];
}
2・終了日が開始日の後であるか判定
public function rules()
{
$rules = [
'end_datetime' => 'after:start_datetime'
];
}
3・入力された内容が指定された形式か判定
public function rules()
{
$rules = [
'start_datetime' => 'date_format:"Y/m/d H:i:s"',
'end_datetime' => 'date_format:"Y/m/d H:i:s"'
];
}
または下記を追加。
public function rules()
{
$rules = [
'start_datetime' => 'regex:/[0-9]+\/[0-9]+\/[0-9]+\s-\s[0-9]+\/[0-9]+\/[0-9]+/',
'end_datetime' => 'regex:/[0-9]+\/[0-9]+\/[0-9]+\s-\s[0-9]+\/[0-9]+\/[0-9]+/'
];
}