Twitter bootstrap 带有日期选择器的引导验证程序不验证日期
我正在使用引导验证程序来验证表单,但我无法让它验证由datepicker填充的文本框。当我在文本框中单击时,datepicker将显示一个日历。我选择了一个日期,文本框将填充所选日期(日历不会自动关闭,这是另一个问题,尽管我修改了bootstrap-datepicker.js使autoclose默认为yes),但验证程序似乎忽略了该框。它不会变为红色或绿色,也不会得到支票或x。有什么建议吗Twitter bootstrap 带有日期选择器的引导验证程序不验证日期,twitter-bootstrap,validation,datepicker,bootstrapvalidator,Twitter Bootstrap,Validation,Datepicker,Bootstrapvalidator,我正在使用引导验证程序来验证表单,但我无法让它验证由datepicker填充的文本框。当我在文本框中单击时,datepicker将显示一个日历。我选择了一个日期,文本框将填充所选日期(日历不会自动关闭,这是另一个问题,尽管我修改了bootstrap-datepicker.js使autoclose默认为yes),但验证程序似乎忽略了该框。它不会变为红色或绿色,也不会得到支票或x。有什么建议吗 401(k)账户 文件名 付款日期 提交 $(“.date picker”).datepicker(
401(k)账户
文件名
付款日期
提交
$(“.date picker”).datepicker();
$(文档).ready(函数(){
$('#contactForm')。bootstrapValidator({
反馈图标:{
有效:“glyphicon glyphicon ok”,
无效:“glyphicon glyphicon删除”,
正在验证:“glyphicon glyphicon刷新”
},
字段:{
上载文件:{
验证器:{
注意:{
消息:“您必须选择要上载的有效工资单文件”
},
文件:{
扩展名:“txt、xls、csv”,
键入:“text/plain,application/vnd.ms excel,text/csv”
}
}
},
付款日期:{
验证器:{
注意:{
消息:“付款日期是必需的,不能为空”
},
弦长:{
最高:10,
最小长度:10,
消息:“付款日期必须为10个字符”
}
}
}
}
});
});
验证将不适用于输入id
仅适用于名称
属性,并且日期选择器输入没有名称
属性(或者您可能忘记了它)
您正在使用bootstrapdate选择器
,验证日期,如果需要更改,则重新验证日期
$('.date-picker').on('changeDate show', function(e) {
$('#contactForm').bootstrapValidator('revalidateField', 'PayDate');
});
所以最终的代码是
$(文档).ready(函数(){
$(“.date picker”).datepicker();
$('#contactForm')。bootstrapValidator({
反馈图标:{
有效:“glyphicon glyphicon ok”,
无效:“glyphicon glyphicon删除”,
正在验证:“glyphicon glyphicon刷新”
},
字段:{
上载文件:{
验证器:{
注意:{
消息:“您必须选择要上载的有效工资单文件”
},
文件:{
扩展名:“txt、xls、csv”,
键入:“text/plain,application/vnd.ms excel,text/csv”
}
}
},
付款日期:{
验证器:{
注意:{
消息:“付款日期是必需的,不能为空”
},
日期:{
格式:“MM/DD/YYYY”,
消息:“格式为MM/DD/YYYY”
}
}
}
}
});
$('.date picker')。在('changeDate show',函数(e)上{
$(“#contactForm”).bootstrapValidator('revalidateField','PayDate');
});
});代码>
文件名
付款日期
提交
在插件网站上查找onChange事件现在验证的日期是正确的。谢谢你。但是,您知道为什么当日期验证失败时,标签、文本框和“x”标记保持黑色,而不是像文件名字段验证失败时那样的红色吗?您需要添加表单组
和少量css自定义,这是因为
和日期选择器以及输入日历图标
导致错误图标
未显示在正确的位置,并且错误颜色未变为红色,请检查此小提琴并遵循代码,仅在堆栈溢出时不鼓励回答。请添加此代码如何工作的解释,以及该代码是给定问题的可行解决方案。
stringLength: {
max: 10,
minlength: 10,
message: 'The Pay Date must be 10 characters long'
}
$('.date-picker').on('changeDate show', function(e) {
$('#contactForm').bootstrapValidator('revalidateField', 'PayDate');
});
$('#expiry_date').datepicker({
dateFormat: 'yy-mm-dd',
}).on('change', function(e) {
// Revalidate the date field
$('#frmForm').bootstrapValidator('revalidateField', 'expiry_date');
});