Twitter bootstrap 带有日期选择器的引导验证程序不验证日期

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(

我正在使用引导验证程序来验证表单,但我无法让它验证由datepicker填充的文本框。当我在文本框中单击时,datepicker将显示一个日历。我选择了一个日期,文本框将填充所选日期(日历不会自动关闭,这是另一个问题,尽管我修改了bootstrap-datepicker.js使autoclose默认为yes),但验证程序似乎忽略了该框。它不会变为红色或绿色,也不会得到支票或x。有什么建议吗


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');
    });