Laravel验证结束日期在开始日期之后不起作用

问题描述 投票:0回答:2

我正在尝试确认结束日期必须晚于开始日期,但无法正常工作如果我将结束日期放在开始日期之前,它会通过而不会显示错误消息 这是我的代码

我的看法

<input id="start_date" type="datetime-local" class="form-control   @error('start_date') is-invalid @enderror" name="start_date"  required autocomplete="start_date" autofocus>

我的控制器

$this -> validate($request ,[

            'start_date' => [ Rule::unique('reservations')->where(function($query) use ($request) {
                $query->where('pitch_id', 'LIKE','%'.$request->pitch_id.'%');
              })],
              'end_date'=> 'required,datetime,before:start_date',
            ]);
php laravel laravel-5 eloquent laravel-validation
2个回答
1
投票
使用after代替before

$this -> validate($request ,[ 'start_date' => [ Rule::unique('reservations')->where(function($query) use ($request) { $query->where('pitch_id', 'LIKE','%'.$request->pitch_id.'%'); })], 'end_date'=> 'required,datetime,after:start_date', ]);


0
投票
'start_date' => [ Rule::unique('reservations')->where(function($query) use ($request) { $query->where('pitch_id', 'LIKE','%'.$request->pitch_id.'%'); })], 'end_date'=> ['required','date','after:start_date'], ]);
现在可以了但错误消息未显示

<div class="col-md-5"> <input type="datetime-local" class="form-control " name="end_date" id="end_date" required> @error('end_date') <span class="invalid-feedback " role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div>

我的习惯

'custom' => [ 'end_date' => [ 'after:start_date' => 'la date de fin doit etre apres la date du debut', ], ],

© www.soinside.com 2019 - 2024. All rights reserved.