Asp.net mvc 修改模型属性的默认行为

Asp.net mvc 修改模型属性的默认行为,asp.net-mvc,Asp.net Mvc,我的问题不是因为我要求处理模型属性 我正在使用一个带有属性的模型,这些属性反映在客户端的web浏览器中,然后,当我按下submit按钮时,错误消息将打印在web浏览器中。 我希望当客户端保持输入焦点时,服务器处理请求(仅输入“disfocused”),如果出现错误,则在web浏览器中显示ErrorMessage 我的注册模式: [DataType(DataType.EmailAddress)] [Required(ErrorMessage = "El field {0} is o

我的问题不是因为我要求处理模型属性

我正在使用一个带有属性的模型,这些属性反映在客户端的web浏览器中,然后,当我按下submit按钮时,错误消息将打印在web浏览器中。 我希望当客户端保持输入焦点时,服务器处理请求(仅输入“disfocused”),如果出现错误,则在web浏览器中显示ErrorMessage

我的注册模式:

    [DataType(DataType.EmailAddress)]
    [Required(ErrorMessage = "El field {0} is obligatory.")]
    [Display(Name = "Email")]
    [StringLength(80, ErrorMessage = "Email too large.")]
    [RegularExpression(@"^([a-zA-Z0-9._-]+)@(outlook|hotmail|yahoo)\.\w{2,}$", ErrorMessage = "Invalid email")]
    public string Email { get; set; }

这可以在客户端通过

布局页面需要

@Render.Section("Scripts",required:false)
那么你的观点就有了

@section Scripts {
   @Scripts.Render("~/bundles/jqueryval")
}
你的包裹会很好。默认情况下,此捆绑包添加到visual studio中的标准ASP MVC项目中

 bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery.validate*"
                    ));
然后,视图只需要为每个属性提供一个
@Html.ValidationMessageFor

在这里查看更多信息

此运行可能重复,但在“解除焦点”输入时不会重复。当我在输入中写入某些内容时运行。@Joe抱歉,我不太明白你似乎在说什么好吧,我希望当客户在“用户名”输入中写入时,不要出现任何情况,但是当我在该输入中没有焦点时(网站、其他输入、提交按钮…),验证将完成并打印,以前没有。@Joe但是为什么你说“ASP.NET仅在blur上进行远程验证”不起作用?因为这应该行得通。尽管您使用的是模型属性,但这些属性仍然作用于jqueryvalidations,这就是为什么您应该查看此链接以获得答案的原因