【发布时间】:2015-12-10 20:13:31
【问题描述】:
这可能有点令人困惑,但我会尽力解释清楚。
我有一个 twitter bootstap 表单,它正在收集信息,并使用 jqueryvalidation 在表单上强制执行特定规则。到目前为止,一切都很好。但是,当使用 msdropdown msdropdown 在客户端的请求中格式化选择下拉框时,通常应该在所需下拉列表中看到的错误被隐藏。仍会执行表单,但您看不到标准的“此字段为必填项”消息。使用 Chrome 的网络工具,我可以看到该消息,并且我看到它位于下拉列表的后面。
小提琴示例: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);
}
}
});
错误块示例。
提前致谢!
更新:所以我开始使用错误块我能够得到一条错误消息出现也很抱歉小提琴错了:(:
errorPlacement: function (error, element) {
if (element.prop('type') === 'radio' || element.attr("name") == "newAssignment" ) {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
现在我确实在选择框上方显示了错误消息,但在我做出选择后,错误消息仍然存在。
【问题讨论】:
标签: twitter-bootstrap jquery-validate