簡體   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