【发布时间】:2015-06-29 00:19:42
【问题描述】:
这可能吗,我正在使用jQuery validate() 中的一个函数来验证出生日期以确定某人的年龄,我的问题是如果这个人的电脑有错误的日期,这个验证不再有效,如何获得moment() 从 AUS Timezone 服务器获取确切的日期和时间?所以它会忽略 PC 的日期和时间?
这可能吗?这是我的功能,我可以做些什么来改进这个功能,以便从服务器中提取当前日期和时间,但是确切的 moment() 因为我需要确定当天的年龄。
我最初想在隐藏字段中回显 php 日期并通过 ID 获取 val(),但这似乎不是正确的做法。
//validate the date of birth to see if eligible you are eligible for enrolment using moment.js
jQuery.validator.addMethod("validateDob", function (value, element) {
var birthDate = moment(value, "DD/MM/YYYY");
var currentDate = moment();
currentDate.subtract("years", 18);
if(!birthDate.isValid()){
//if birthDate is NOT a valid date
return false;
}else if (currentDate.isAfter(birthDate)){
//birthDate is 18+
return true;
}else{
//birthDate is not 18
return false;
}
}, "You must be 18 and over to proceed");
【问题讨论】:
-
当他们提交表单时,您可以在他们的电脑上以及在服务器端(服务器时间)执行前端检查。
-
您还可以发送一个 ajax 请求,其中包含用户的出生日期,以将其与服务器时间进行比较。这样你就不需要像你说的那样将它与 moment.js 进行比较,这取决于他们可以篡改的日期。
标签: javascript jquery html timezone