Php 在laravel 4.2验证中允许相同的开始和结束日期

Php 在laravel 4.2验证中允许相同的开始和结束日期,php,laravel,laravel-4,Php,Laravel,Laravel 4,所以我有这个功能,用户需要输入某个事件的开始日期和结束日期。所以我所做的是在我的视图中添加了一个日期选择器,在我的控制器中,我唯一能做的就是允许结束日期在开始日期之后。但我也应该能够允许相同的开始日期和结束日期,例如,用户选择了今天的开始日期,我也应该能够允许结束日期在今天。基本上,结束日期可以在开始日期之后,这里是控制器中的验证代码 $rules = array( 'eventName' => 'required', 'users' =

所以我有这个功能,用户需要输入某个事件的开始日期和结束日期。所以我所做的是在我的视图中添加了一个日期选择器,在我的控制器中,我唯一能做的就是允许结束日期在开始日期之后。但我也应该能够允许相同的开始日期和结束日期,例如,用户选择了今天的开始日期,我也应该能够允许结束日期在今天。基本上,结束日期可以在开始日期之后,这里是控制器中的验证代码

$rules = array(
        'eventName'    => 'required',
        'users'        => 'required',
        'evStart'      => 'required',
        'evEnd'        => 'required|after:evStart',
    );
这是我的视图代码

<div class="input-field col s10 offset-s1" style="margin-top:40px;">
    {{ Form::label('date', 'Event Start *') }}
    {{ Form::input('date', 'evStart', Input::old('evStart'), ['class'=>'datepicker',   'placeholder' => 'Date']) }}
</div>

<div class="input-field col s10 offset-s1">
    {{ Form::label('date', 'Event End *') }}
    {{ Form::input('date', 'evEnd', Input::old('evEnd'), ['class'=>'datepicker', 'placeholder' => 'Date']) }}
</div>

{{Form::label('date','Event Start*')}
{{Form::input('date','evStart',input::old('evStart'),['class'=>'datepicker','placeholder'=>'date'])}
{{Form::label('date','Event End*')}
{{Form::input('date','evEnd',input::old('evEnd'),['class'=>'datepicker','placeholder'=>'date'])}
关于如何改进代码有什么想法吗?非常感谢


<script type="text/javascript">
     $( function() {


    //----------date format-----------------

    $("#startdate").datepicker({
            dateFormat: "mm/dd/yy",

            onSelect: function (date) {
                var date2 = $('#startdate').datepicker('getDate');
                date2.setDate(date2.getDate());

                $('#enddate').datepicker('option', 'minDate', date2);
            }
        });
        $('#enddate').datepicker({
            dateFormat: "mm/dd/yy",
            onClose: function () {
                var dt1 = $('#startdate').datepicker('getDate');
                console.log(dt1);
                var dt2 = $('#enddate').datepicker('getDate');
                if (dt2 <= dt1) {
                    var minDate = $('#enddate').datepicker('option', 'minDate');
                    $('#enddate').datepicker('setDate', minDate);
                }
            }
        });
  } );
</script>
$(函数(){ //----------日期格式----------------- $(“#开始日期”)。日期选择器({ 日期格式:“mm/dd/yy”, onSelect:功能(日期){ var date2=$('#startdate')。日期选择器('getDate'); date2.setDate(date2.getDate()); $('enddate')。日期选择器('option','minDate',date2); } }); $('#enddate')。日期选择器({ 日期格式:“mm/dd/yy”, onClose:function(){ var dt1=$('#startdate').datepicker('getDate'); 控制台日志(dt1); var dt2=$('#enddate')。日期选择器('getDate'); 如果(dt2<代码> $(函数(){ //----------日期格式----------------- $(“#开始日期”)。日期选择器({ 日期格式:“mm/dd/yy”, onSelect:功能(日期){ var date2=$('#startdate')。日期选择器('getDate'); date2.setDate(date2.getDate()); $('enddate')。日期选择器('option','minDate',date2); } }); $('#enddate')。日期选择器({ 日期格式:“mm/dd/yy”, onClose:function(){ var dt1=$('#startdate').datepicker('getDate'); 控制台日志(dt1); var dt2=$('#enddate')。日期选择器('getDate');
如果(dt2制定了自己的验证规则,日期:

Validator::extend('after_equal', function($attribute, $value, $parameters, $validator)
{
    return strtotime($validator->getData()['evStart']) <= strtotime($value);
});

将此代码放在所需位置。如果要验证空字段,请使用Validator::extendImplicit。

为日期制定自己的验证规则:

Validator::extend('after_equal', function($attribute, $value, $parameters, $validator)
{
    return strtotime($validator->getData()['evStart']) <= strtotime($value);
});

把这段代码放在你想要的地方。如果你想验证空字段,请使用Validator::extendImplicit。

ru使用$(“#startdate”).datepicker({});在jshi中,所以我刚刚将
datepicker
类添加到我的
表单::input
中,请看我添加了一个答案…检查它是否可以使用$(“#startdate”).datepicker({});在jshi中,我刚刚将
datepicker
类添加到我的
表单::input
查看我添加了一个答案…检查它是否工作StartDate,enddate是您的输入字段id,别忘了更改它的StartDate,enddate是您的输入字段id,别忘了更改它