【问题标题】:How make validation of Date with datetime work with jquery(date picker) for php?如何使用日期时间验证日期与 php 的 jquery(日期选择器)一起使用?
【发布时间】:2017-07-07 05:50:51
【问题描述】:

脚本(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- 如果 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 代码:(我的数据库访问当前格式为“Y-m-d”)

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

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

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

}

我还希望输入日期能够转换格式('d-m-Y'、'Y/m/d'、'Y.m.d'、'd.m-Y'、'd/m/Y' ) 到 'Y-m-d' 可能带有某种数组?

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

感谢您的支持...如果有人能向我解释什么是错误的以及什么是正确的代码,那么对 PHP 还是很陌生的人会很有帮助

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow!如果您想添加或更改某些内容,您可以随时编辑您的问题。如果您还有其他问题,请单独发布。
  • 我想我应该把 if($date_errors['warning_count'] + $date_errors['error_count'] > 0) { 代替,但我的数据库仍然没有工作,没有得到任何结果

标签: javascript php jquery date datetime


【解决方案1】:

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

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

然后更改 HTML 之类的,

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

【讨论】:

  • 你能详细说明我需要做什么吗? 就这些?
  • 是的,从类名date 中删除?
  • ?在我的代码中不存在我把它放在这里只是为了确保你告诉我做什么
  • 说DateTime类的对象不能转换成字符串?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-22
  • 2012-09-11
  • 2015-11-05
相关资源
最近更新 更多