以下是我的代码,我在控制器的视图中有电子邮件文本框和电话号码文本框。 问题是当用户开始输入时,它会显示正则表达式验证消息,我想要的是在用户输入完整的电子邮件或电话号码后显示此消息。
感谢任何帮助。
谢谢
这是视图上的代码
<div class="editor-label">
@Html.LabelFor(model => model.Seller_Email)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Seller_Email, new { placeholder = "Email" })
@Html.ValidationMessageFor(model => model.Seller_Email)
</div>
这是模型上的代码
[Required(ErrorMessage = "Email is required")]
[Display(Name = "Email")]
[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
@"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
@".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$",
ErrorMessage = "Email is not valid")]
[Remote("EmailExists", "Account", HttpMethod = "POST", ErrorMessage = "Email already exists. Please enter a different Email")]
public string Seller_Email { get; set; }
答案 0 :(得分:0)
我建议使用DataAnnotationExtensions。它可以作为NuGet包使用,这将验证您可能觉得有用的其他验证器中的电子邮件地址。使用此代替正在输入时不会验证的正则表达式 -
答案 1 :(得分:-2)
1)使用onblur()
函数并在jQuery中验证它。
2)删除模型验证。