没有看到 jqueryvalidation 和 msdropdown 的错误消息
Not seeing error message with jqueryvalidation and msdropdown
这可能有点令人困惑,但我会尽力解释清楚。
我有一个 Twitter 引导程序表单,它正在收集信息并使用 jqueryvalidation 在表单上执行特定规则。到目前为止,一切都很好。但是,当根据客户的请求使用 msdropdown msdropdown 来格式化 select 下拉框 时,通常应该在所需下拉列表中看到的错误被隐藏了。表单强制执行仍然发生,但您看不到标准的 "This field is required" 消息。使用 Chrome 的网络工具,我可以看到消息,我看到它在下拉菜单后面。
Fiddle 示例:Fiddle Example
我猜想在这种情况下可能有一种方法可以更改错误块的位置,但我不确定该怎么做。
$(function() {
$.validator.setDefaults({
errorClass: 'help-block',
highlight: function(element) {
$(element)
.closest('.form-group')
.addClass('has-error');
},
unhighlight: function(element) {
$(element)
.closest('.form-group')
.removeClass('has-error');
},
errorPlacement: function (error, element) {
if (element.prop('type') === 'radio') {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
});
错误块示例。
提前致谢!
更新:所以我开始玩弄错误块,我能够得到一条错误消息,也很抱歉 fiddle 是错误的:(:
errorPlacement: function (error, element) {
if (element.prop('type') === 'radio' || element.attr("name") == "newAssignment" ) {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
现在我确实收到了 select 框上方出现的错误消息,但是在我创建 selection 之后,错误消息仍然存在。
好的,所以我有这个至少可以工作的地方。
添加:
|| element.attr("name") == "newAssignment"
如上所列帮助我放置了错误消息。
我还通过在进行选择时评估元素来摆脱错误消息:
$("#addNewAssignment").validate().element("#newAssignment");
这可能有点令人困惑,但我会尽力解释清楚。
我有一个 Twitter 引导程序表单,它正在收集信息并使用 jqueryvalidation 在表单上执行特定规则。到目前为止,一切都很好。但是,当根据客户的请求使用 msdropdown msdropdown 来格式化 select 下拉框 时,通常应该在所需下拉列表中看到的错误被隐藏了。表单强制执行仍然发生,但您看不到标准的 "This field is required" 消息。使用 Chrome 的网络工具,我可以看到消息,我看到它在下拉菜单后面。
Fiddle 示例:Fiddle Example
我猜想在这种情况下可能有一种方法可以更改错误块的位置,但我不确定该怎么做。
$(function() {
$.validator.setDefaults({
errorClass: 'help-block',
highlight: function(element) {
$(element)
.closest('.form-group')
.addClass('has-error');
},
unhighlight: function(element) {
$(element)
.closest('.form-group')
.removeClass('has-error');
},
errorPlacement: function (error, element) {
if (element.prop('type') === 'radio') {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
});
错误块示例。
提前致谢!
更新:所以我开始玩弄错误块,我能够得到一条错误消息,也很抱歉 fiddle 是错误的:(:
errorPlacement: function (error, element) {
if (element.prop('type') === 'radio' || element.attr("name") == "newAssignment" ) {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
现在我确实收到了 select 框上方出现的错误消息,但是在我创建 selection 之后,错误消息仍然存在。
好的,所以我有这个至少可以工作的地方。
添加:
|| element.attr("name") == "newAssignment"
如上所列帮助我放置了错误消息。
我还通过在进行选择时评估元素来摆脱错误消息:
$("#addNewAssignment").validate().element("#newAssignment");