这可能有点混乱,但我会尽力解释清楚。
我有一个twitter bootstap表单,它正在收集信息,并使用jqueryvalidation来强制执行表单上的特定规则。到目前为止,一切都很好。但是,在客户端请求中使用msdropdown msdropdown 格式化选择下拉框时,隐藏了通常应在所需下拉列表中看到的错误。表单执行仍然存在,但您无法看到标准"此字段是必需的"信息。使用Chrome的网络工具,我可以看到该消息,我发现它落后于下拉。
小提琴示例:Fiddle Example
我猜测在这种情况下可能有办法改变错误块的位置,但我不知道该怎么做。
CTFramesetterSuggestFrameSizeWithConstraints
错误块示例。
提前致谢!
更新:所以我开始玩错误块我能得到一条错误信息出现也很抱歉小提琴错了:(:
$(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);
}
}
});
现在我确实收到错误消息显示在选择框上方,但在我做出选择后,错误消息仍然存在。
答案 0 :(得分:0)
好的,所以我有这个至少可以工作的地方。
中加入:
|| element.attr("name") == "newAssignment"
上面列出的帮助我放置了错误消息。
我还通过在选择时评估元素来消除错误消息:
$("#addNewAssignment").validate().element("#newAssignment");