我正在使用jQuery验证插件,并且效果很好。
我希望能够在远程ajax失败时显示消息并触发模式(在示例中为alert())。我不知道该怎么做。现在,它按预期触发了alert(),但还附加了错误消息“请修复此字段”,该消息应该是我自己的自定义错误消息。
这是我得到的:
$("#adresse-form").validate({
errorElement: "span",
rules: {
navn: {
required: true,
minlength: 5,
maxlength: 25
},
tlf: {
required: true,
digits: true,
minlength: 8,
remote: {
url: "/ajax/check_tlf",
type: "post"
}
}
},
messages: {
navn: "Field Name is required",
tlf: {
required: "Field tlf is required!",
remote: function () { // i want to add the message aswell, not just the alert
alert("failed - tlf is already taken!");
}
}
},
submitHandler: function(form) {
doSomethingGreatOnSuccess();
},
errorPlacement: function (error, element) {
error.appendTo(element.parent());
}
});
最佳答案
引用OP评论:“返回的字符串每次都有效,但是
.reveal()
仅在页面加载后第一次触发。”
我认为您只得到模态一次,因为Validate插件仅一次构造消息(然后使用hide / show)。如果您希望每次都触发它,请尝试使用highlight
回调函数。与onkeyup
和onfocusout
设置为false
结合使用。
onkeyup: false,
onfocusout: false,
highlight: function(element, errorClass) {
if ($(element).attr('name') === 'remotefieldname') {
$('#myModal').reveal();
}
}
演示:http://jsfiddle.net/NFRvT/1/