如何使用jquery(日期选择器)为日期时间验证日期时间?

时间:2017-07-07 05:50:51

标签: javascript php jquery date datetime

脚本(jquery)用于使输入[date]可供多个浏览器(datepicker)

访问
<script>
   $(function(){           
      if (!Modernizr.inputtypes.date) { //if browser doesn't support input type="date", initialize date picker widget:
    // If not native HTML5 support, fallback to jQuery datePicker <script src="js/realtime_validityScript.js">
           $('input[type=date]').datepicker({
            // Consistent format with the HTML5 picker
                **dateFormat: 'dd-mm-yy',** 
                maxDate: 0

            },
            // Localization
            $.datepicker.regional['it']
        );
    }
});
</script>

2-用于在jquery被禁用(不工作)的情况下由用户验证日期格式的PHP代码 - 也不确定如何使用DateTime :: getLastErrors()

// specify your date's original format, in this example d/m/Y (e.g. 25/07/2014)

 **$format = "d-m-Y";**
 $date = DateTime::createFromFormat($format, $_POST['DateField']);
 $date_errors = DateTime::getLastErrors();
  if(? $date_errors[also dunno what to put here?] ) {

   // createFromFormat returns false if the format is invalid;

   echo 'Your date format is incorrect';
 } else {
   //change it to any format you want with format() (e.g. 2013-08-31)

    $date->format('Y-m-d');
 }

获取我的日期的原始PHP代码:(我的数据库访问当前这种格式&#34; Y-m-d&#34;)

if (empty($_POST["DateField"]) ) {

   $errors['DateField'] = "Age is required"; 

} else {
    $date = date("Y-m-d", strtotime( $_POST['DateField']));

}

我还希望输入日期能够转换那些格式(&#39; dm-Y&#39;,&#39; Y / m / d&#39;,&#39; Ymd&#39 ;,&#39; dm-Y&#39;,&#39; d / m / Y&#39;)到&#39; Ym-d&#39; 可能带有一些数组排序

注意:如果我删除2部分我的代码工作正常

感谢您的支持......如果有人可以向我介绍错误和正确的代码

,那么PHP的新功能真的会有所帮助

1 个答案:

答案 0 :(得分:1)

日期类型不允许您所需的格式。所以不要使用type="date"使用type="text"并在输入字段中添加类date来初始化datepicker,

....
$('input.date').datepicker({
   // Consistent format with the HTML5 picker
   dateFormat: 'dd-mm-yy',
   maxDate: 0
},
....

并改变HTML,

<input type="text" class="date" ..../>