gpt4 book ai didi

javascript - 如何防止必填字段的 MVC 非侵入式验证也激活电子邮件验证?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:48:58 27 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 登录表单,它使用客户端非侵入式验证。

我的登录模型有一个带有 [Required] 的用户名属性。大多数输入的用户名都是电子邮件地址,所以在触摸设备上,我想展示一个很好的电子邮件友好键盘。所以我设置了type="email"<input> 上,像这样:

@Html.TextBoxFor(m => m.UserName, new { type = "email" })

现在,我不想验证电子邮件地址(因为非电子邮件用户名有效),但不知何故,因为我有一个 [Required]属性,默认的 jquery.validate 电子邮件验证也会启动,给我一个“请输入有效的电子邮件地址”错误。

有没有办法在保持必填字段验证的同时防止这种情况发生?

最佳答案

结果证明解决方案非常简单:

$('#loginform').data("validator").settings.rules["UserName"].email = false;

使用多个规则集(来自 jquery.validate.js)验证输入字段:

    var data = $.validator.normalizeRules(
$.extend(
{},
$.validator.metadataRules(element),
$.validator.classRules(element),
$.validator.attributeRules(element),
$.validator.staticRules(element)
), element);

attributeRules 是导调用子邮件验证被激活的原因,但是由于 staticRules 优先,电子邮件验证通过我们上面的分配被取消激活。

关于javascript - 如何防止必填字段的 MVC 非侵入式验证也激活电子邮件验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13622319/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com