【问题标题】:Laravel validation enddate after start date not working开始日期后的 Laravel 验证结束日期不起作用
【发布时间】:2020-10-02 13:13:15
【问题描述】:

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

我的看法

<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',
            ]);

【问题讨论】:

  • 试过了,但没有
  • 输出是什么? dd(Rule::unique('reservations')-&gt;where(function($query) use ($request) { $query-&gt;where('pitch_id', 'LIKE','%'.$request-&gt;pitch_id.'%'))... ???
  • 成功了,是语法错误

标签: php laravel laravel-5 eloquent laravel-validation


【解决方案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',
            ]);

【讨论】:

  • ` 'end_date'=> ['required','date','after_or_equal:start_date'],` 试过了,但还是不行
【解决方案2】:
'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',
        ],
    ],

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 2012-08-31
    • 1970-01-01
    相关资源
    最近更新 更多