Laravel 日期验证失败 jQuery datepicker

Laravel date validation fails with jQuery datepicker

在我的 blade 文件中 我定义了:-

<div class="createMesh_row date" id="event_date_div">
    <label>Event Date</label>
    {{ Form::text('event_date','',array('id'=>'event_date','readonly', 'class' => '')) }}
    <i class="fa fa-calendar eventdate"></i>
    {{ $errors->first('event_date','<span class="error">:message</span>') }}
</div>

在我的 js 文件中:-

 $( "#event_date,#target_date" ).datepicker({
     changeMonth: true,
     changeYear: true,
     dateFormat: 'mm/dd/yyyy',
     minDate: 0        
  });

我为此定义了规则:-

 $rules=[
            'title'       =>'required',
            'type'        =>'required',
            'privacy'     =>'required',
            'target_date' =>'required|date|date_format:"mm-dd-yyyy"',

  //  tried 'target_date' =>'required|date|date_format:"mm/dd/yyyy"',
  //  tried 'target_date' =>'required|date|date_format:"d/m/Y"',
  //  tried'target_date' =>'required|date_format:d-m-Y', 
  //  not working

            'occasion'    =>'required'
        ];

错误:-

[target_date] => Array
                (
                    [0] => The target date is not a valid date.
                    [1] => The target date does not match the format mm-dd-yyyy.
                )

首先,您应该在验证字段时使用 datedate_format,而不是同时使用两者。

其次,mm-dd-yyyy 的正确格式是 m-d-Y,因此验证应如下所示:

'target_date' =>'required|date_format:"m-d-Y"',

我写了

'target_date' =>'required|date_format:"m/d/Y"',

在 Js 中, 不定义日期格式。

$("#target_date,#event_date").datepicker({
        changeMonth: true,
        changeYear: true,
        //  dateFormat: 'mm/dd/yy', // Hide this line
        minDate: 0
});

对我来说工作得很好:)

在 JS 中:

$( "#event_date,#target_date" ).datepicker({
    // changeMonth: true,
    // changeYear: true,
       viewMode: 'years',
       format: 'YYYY/MM/DD',    
});

在Laravel中:

'target_date' =>'required|date',