Javascript 如何将三个单独的字段验证为日期
我正在尝试验证一个分为三个字段(当然是年、月和日)的日期。我不能改变这些领域,因为我想。我正在使用(也不是我自己选择的)。我不知道如何将这三个字段作为一个字段进行验证。即使单独验证它们也足够了 我的HTML如下Javascript 如何将三个单独的字段验证为日期,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我正在尝试验证一个分为三个字段(当然是年、月和日)的日期。我不能改变这些领域,因为我想。我正在使用(也不是我自己选择的)。我不知道如何将这三个字段作为一个字段进行验证。即使单独验证它们也足够了 我的HTML如下 ... / / 我按如下方式调用验证器: $("#SignUp_Enrollment").validate({ focusInvalid : false, rules: { co_ssn: { ssn: true
...
/
/
我按如下方式调用验证器:
$("#SignUp_Enrollment").validate({
focusInvalid : false,
rules: {
co_ssn: {
ssn: true
},
first_name: {
required: true
},
last_name: {
required: true
}
// some more rules
},
invalidHandler: function (form, validator) {
// style the invalid fields
},
submitHandler: function (form) {
form.submit();
}
});
我当然在验证其他字段,但这个插件并没有给我任何怜悯。我尝试添加月、日和年规则,但没有效果。有什么建议吗?您可以将这三个字段合并为一个(
隐藏的
输入),并验证此输入
var day, month, year;
day = $('.day').val();
month = $('.month').val();
year = $('.year').val();
$('.hidden-date-input').val([day, year, month].join('-'));
报价操作: “即使单独验证它们也足够了。” 由于HTML标记中没有一个字段包含
name
属性,因此代码被破坏。唯一的名称
是此插件运行所必需的。它是如何跟踪输入元素的
见:
它不会显示在标记中,但所有相关的输入元素也必须包含在
标记中。否则,此插件将无法工作
由于已将日期保存到隐藏字段中,因此也可以只验证隐藏字段
<input type="hidden" name="myDate" />
使用忽略:[]
选项激活隐藏字段的验证
然后,只要此隐藏字段具有唯一的名称
属性,就可以像在任何其他字段上一样应用验证规则
使用
errorPlacement
回调来精确放置附加到隐藏字段的消息。为了向服务器发送简单参数,我实际上已经在这样做了。但如何验证隐藏的字段呢?我假设只需将此输入传递给验证器。尝试方法$('.hidden date input').valid()
我将尝试一下。谢谢。@TylerCrompton,我的回答仍然有效。
<input type="hidden" name="myDate" />