首页 > 解决方案 > 如何在 asp.net mvc 中使用 c# 验证错误消息?

问题描述

我正在努力验证一个空的EditorForusing Data-Annotation,尝试在客户端使用 jquery 。不知何故,我觉得从后端验证它比从前端验证它更好。看看并帮助我改进我的逻辑错误。@EditorFor()我希望在用户离开显示的错误图像时验证此错误的想法。

// Model
[Required(ErrorMessage = "This field is required")]
public string Email { get; set; }
        

//View
script type='text/javascript'>
    $(function () {
        //When the blur event occurs from your Textbox (you lose focus)
        $('#textEmail').blur(function () {
            var email = document.getElementById("textEmail").value;
            var expr = /^([\w-\.]+)@@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
            if (!expr.test(email)) {
                alert("Invalid email address.");
            }
            else {
                alert("Ok");
            }
        });
    });

标签: c#jqueryasp.net-mvcdata-annotations

解决方案


正确使用 MVC 的 Data Annotation 可以在没有 JQuery 的情况下实现。

对于数据注释,请在属性上方写下错误消息,如下所示:

[Required(ErrorMessage = "This field is required")]
public string Email { get; set; }

其他一些注释也可以与必需注释一起使用。要验证以下注释的有效电子邮件地址,可以使用:

[Required(ErrorMessage = "This field is required")]
[EmailAddress(ErrorMessage = "Invalid email address")]
public string Email { get; set; }

推荐阅读