LoginSignup
4
7

More than 5 years have passed since last update.

Laravelの日時に関するバリデーション実例メモ

Last updated at Posted at 2018-11-08

想定環境

  • 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]+/'
    ];
}
4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7