繁体   English   中英

如何使用datetime进行Date的验证与php的jquery(日期选择器)一起使用?

[英]How make validation of Date with datetime work with jquery(date picker) for php?

脚本(jquery)用于使输入[日期]可被多个浏览器访问(日期选择器)

<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- PHP代码,用于在禁用jquery的情况下由用户验证日期格式(不起作用)-也不确定如何使用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代码:(我的数据库当前以“ Ymd”格式访问数据库)

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

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

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

}

我还希望输入日期能够将格式(“ dm-Y”,“ Y / m / d”,“ Ymd”,“ dm-Y”,“ d / m / Y”)转换为“ Ym” -d'也许带有某种数组?

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

感谢您的支持...如果有人可以向我解释错误和正确的代码,PHP仍然很新

日期类型将不允许您使用所需的格式。 因此,不要使用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" ..../>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM