gpt4 book ai didi

jquery - 如何使用 formvalidator.net 的日期验证器设置最低年龄?

转载 作者:行者123 更新时间:2023-12-03 23:05:12 27 4
gpt4 key购买 nike

我正在使用Jquery FormValidator 出生日期属性。

但是,

已设置为仅允许过去的日期和不超过 120 年的日期。

我只是想要再验证一次,即它也不应该允许年龄低于 18 岁。

我怎样才能实现这一目标?

最佳答案

您可以使用 Date-Module 中的日期验证器并添加 custom validator .

我刚刚添加了行 var requiredAge = 18; 并将 var 添加到验证中。

https://jsfiddle.net/03ehx9ns/

$.validate({
modules : 'date'
});

$.formUtils.addValidator({
name : 'older18',
validatorFunction : function(val, $el, conf) {
var requiredAge = 18;
var dateFormat = 'yyyy-mm-dd';
if($el.valAttr('format')) {
dateFormat = $el.valAttr('format');
}
else if(typeof conf.dateFormat !== 'undefined') {
dateFormat = conf.dateFormat;
}

var inputDate = $.formUtils.parseDate(val, dateFormat);
if (!inputDate) {
return false;
}

var d = new Date();
var currentYear = d.getFullYear();
var year = inputDate[0];
var month = inputDate[1];
var day = inputDate[2];

if (year === currentYear - requiredAge) {
var currentMonth = d.getMonth() + 1;
if (month === currentMonth) {
var currentDay = d.getDate();
return day <= currentDay;
}
else {
return month < currentMonth;
}
}
else {
return year < currentYear - requiredAge && year > (currentYear - 124); // we can not live for ever yet...
}
},
errorMessage : 'You need to be older then 18',
errorMessageKey: 'badDate'
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>

<form action="" id="date-form">
<p>
Birth date
<input name="..." data-validation="older18"
data-validation-help="yyyy-mm-dd (Not allowing dates in...">
</p>
<p>
Time
<input name="" data-validation="time" data-validation-help="HH:mm">
</p>
<p>
<input type="submit">
</p>
</form>

关于jquery - 如何使用 formvalidator.net 的日期验证器设置最低年龄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38266307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com