繁体   English   中英

MVC3条件JQuery验证

[英]MVC3 Conditional JQuery Validation

我正在尝试使用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]属性时,一切正常。

但是我有这种情况:

  • 我可以选择以下选项:电子邮件或Ftp
  • 选择“电子邮件”选项后,我要显示电子邮件地址字段并添加验证
  • 选择Ftp选项后,我不想验证电子邮件地址

这是电子邮件地址的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"
    }
});

任何帮助表示赞赏。

我不确定,但是我很确定您不能将标准的jquery-validation与MVC3客户端验证结合使用。.您必须做一个或另一个。

更具体地说,MCV3客户端验证将jquery-validation修改为自己使用,这与独立使用jquery-validation冲突。

我会使用disabled输入不参与验证的事实。 添加服务器端所需,但仅在选择ftp时禁用并隐藏EmailAddress。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM