脚本(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 代码:(我的数据库访问当前格式为“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' 可能使用某种数组?
注意:如果我删除两部分,我的代码可以正常工作
感谢您的支持...对于 PHP 还是新手,如果有人可以向我解释什么错误以及正确的代码,那将会非常有帮助
最佳答案
日期类型不允许您所需的格式。因此,不要使用 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" ..../>
关于javascript - 如何使用 PHP 的 jquery(日期选择器) 来验证日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44963401/