我正在尝试使用jQuery验证器进行一些条件验证。
我有一个javascript向导,在转到下一步时调用validate方法:
var validator = $("form").validate();
var anyError = false;
step.find("input").each(function () {
if (!validator.element(this)) {
// validate every input
anyError = true;
}
});
if (anyError) {
return false;
}
当我在模型上有[Required]属性时,一切正常。
但是我有这种情况:
这是电子邮件地址的html代码段。
<div class="email-address" style="display: none;">
<label class="fullwidth" for="EmailAddress">Email Address</label>
@Html.TextBoxFor(m => m.EmailAddress, new { @class = "longtext" })
<div id="email-validation">
</div>
我尝试了各种各样但下一个按钮验证例程始终认为表单有效。例如。
$("form").validate({
errorLabelContainer: '#email-validation',
rules: {
EmailAddress: {
required: true
}
},
messages: {
EmailAddress: "Please enter an email address"
}
});
任何帮助表示感谢。
答案 0 :(得分:0)
我不确定,但我很确定你不能将标准的jquery验证与MVC3客户端验证结合使用。你必须做其中一个。
更具体地说,MCV3客户端验证会根据自己的用途调整jquery验证,这与单独使用jquery-validation相冲突。
答案 1 :(得分:0)
我会使用disabled
输入不参与验证的事实。添加服务器端所需,但只在选择ftp时禁用和隐藏EmailAddress。