我在这个问题上挣扎...... 我已覆盖我的母版页以更改无效的hightlight和Unhightlight类,并修改InvalidHandler,如下所示:
<script type="text/javascript">
$.validator.setDefaults({
ignore: [],
invalidHandler: function (event, validator) {
$(".tab-content").find("div.tab-pane:hidden:has(div.has-error)").each(function (index, tab) {
var id = $(tab).attr("id");
alert(id);
$('a[href="#' + id + '"]').tab('show');
});
},
highlight: function (element, errorClass, validClass) {
if (element.type === 'radio') {
this.findByName(element.name).addClass("bad").removeClass("good");
} else {
$(element).addClass("bad").removeClass("good");
$(element).closest('.form-group').removeClass('good').addClass('bad');
}
},
unhighlight: function (element, errorClass, validClass) {
if (element.type === 'radio') {
this.findByName(element.name).removeClass("bad").addClass("good");
} else {
$(element).removeClass("bad").addClass(validClass);
$(element).closest('.form-group').removeClass('bad').addClass('good');
}
}
});
Hightlight和Unhightlight已被点击,但InvalidHandler并没有...... 有人能帮帮我吗? 提前谢谢!
答案 0 :(得分:0)
如果您使用的是jQuery Unobtrusive Validation,它不一定会遵循默认值,而且我也无法使invalidHandler正常工作。
您可以订阅引发的事件:
from random import sample
exampleList = ["Gary","Kerry","Larry","Bob","Frank","Joshua"]
def reduce(List):
newList = sample(List, random.randint(1, len(List)))
return newList
reduce(reduce(reduce(reduce(exampleList)))) #<-- I want to avoid doing this#
或者我在jQuery unobtrusive source中也发现他们尝试从`$('form').on('invalid-form', function (...) { });`
中提取选项,因此您可以这样做:
jQuery.validator.unobstrusive.options
无论哪种方式,对我来说我都叫它两次,这也很痛苦。