我的情况:
这是与ASP.NET WebForms一起使用的,但如果您愿意,可以忽略它。但是,我更多地将验证用作“建议”:换句话说,当提交表单时,会触发验证,但是不会显示“必填”消息,而是显示“建议”消息,内容大致为“您错过了以下字段...您是否仍要继续?”此时,在错误容器中会显示另一个提交按钮,可以按下该按钮以忽略验证并仍然提交。如何绕过此按钮控件的.forms .validate(),并仍然发布?
在http://jquery.bassistance.de/validate/demo/multipart/的“购买和出售房屋示例”中,为了点击前面的链接,可以通过创建自定义方法并将其添加到验证器来实现此目的。我希望不必创建重复验证插件中已有功能的自定义方法。
以下是我现在拥有的适用脚本的简短版本:
var container = $("#<%= Form.ClientID %> div.validationSuggestion");
$('#<%= Form.ClientID %>').validate({
errorContainer: container,
errorLabelContainer: $("ul",container),
rules: {
<%= YesNo.UniqueID %>: { required: true },
<%= ShortText.UniqueID %>: { required: true } // etc.
},
messages: {
<%= YesNo.UniqueID %>: 'A message.',
<%= ShortText.UniqueID %>: 'Another message.' // etc.
},
highlight: function(element, errorClass) {
$(element).addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass("valid");
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass("valid");
},
wrapper: 'li'
});