我正在使用jQuery Validate插件,我正在尝试使用errorPlacement
和success
回调来添加和删除引导类has-error
。
目前,errorPlacement
回调有效,但由于success
回调返回错误标签(我没有使用),我不知道该怎么做。我需要在success
中再次访问我的输入,但我不知道该怎么做。
$('#msform').validate({
submitHandler: function (form) {
alert('valid form submitted');
return false; // for demo
},
errorPlacement: function(error, element) {
$(element).parent().addClass('has-error');
$(element).css('border-color', '#a94442');
},
success: function(label) {
label.removeClass('has-error').text('ok');
},
invalidHandler: function(event, validator) {
var errors = validator.numberOfInvalids();
}
});
有人可以帮忙吗?感谢。
修改
我想我应该通过combining custom error placement with success is not working jquery validate plugin使用高亮和不亮。
答案 0 :(得分:1)
所以我问完后很快就找到了答案。我使用了错误的回调。对于此类需求,您需要使用highlight
和unhighlight
。但出于某种原因,如果您不想添加标签,还需要定义errorPlacement
。
$('#msform').validate({
errorPlacement: function() {},
highlight: function(element) {
$(element).parent().addClass('has-error');
$(element).css('border-color', '#a94442');
},
unhighlight: function(element) {
$(element).parent().removeClass('has-error');
$(element).css('border-color', '');
},
submitHandler: function (form) {
alert('valid form submitted');
return false; // for demo
},
invalidHandler: function(event, validator) {
var errors = validator.numberOfInvalids();
}
});