ASP.NET模型枚举字段的自定义错误消息
创始人
2024-09-19 02:01:05
0

要为ASP.NET模型枚举字段添加自定义错误消息,可以使用System.ComponentModel.DataAnnotations命名空间中的DisplayAttributeEnumDataTypeAttribute。以下是一个示例解决方案:

using System;
using System.ComponentModel.DataAnnotations;

public enum Gender
{
    [Display(Name = "男")]
    Male,
    [Display(Name = "女")]
    Female
}

public class Person
{
    [EnumDataType(typeof(Gender), ErrorMessage = "请选择正确的性别")]
    public Gender Gender { get; set; }
}

public class Program
{
    public static void Main(string[] args)
    {
        var person = new Person { Gender = (Gender)3 }; // 设置无效的性别值

        var validationContext = new ValidationContext(person);
        var validationResults = new System.Collections.Generic.List();

        bool isValid = Validator.TryValidateObject(person, validationContext, validationResults);

        if (!isValid)
        {
            foreach (var validationResult in validationResults)
            {
                Console.WriteLine(validationResult.ErrorMessage);
            }
        }
    }
}

在上面的示例中,我们首先定义了一个Gender枚举,其中每个枚举值都使用了DisplayAttribute来设置显示名称。然后,我们在Person类中使用EnumDataTypeAttributeGender字段设置了自定义错误消息。

Program类的Main方法中,我们创建了一个Person对象,并将无效的性别值分配给Gender字段。然后,我们使用Validator.TryValidateObject方法来验证对象,并将验证结果存储在validationResults列表中。

如果验证失败,我们可以通过遍历validationResults列表来获取每个验证失败的错误消息并将其输出到控制台。

在上面的示例中,如果将无效的性别值(3)分配给Gender字段,将会输出错误消息:"请选择正确的性别"。

相关内容

热门资讯

透视指引!werplan透视挂... 透视指引!werplan透视挂(透视)总是真的有辅助软件(哔哩哔哩)1、完成werplan透视挂辅助...
透视经验!htx矩阵wepok... 透视经验!htx矩阵wepoker辅助(透视)确实存在有辅助插件(哔哩哔哩)1、htx矩阵wepok...
透视讲义!hhpoker德州挂... 透视讲义!hhpoker德州挂真的有吗(透视)好像是真的辅助插件(哔哩哔哩)1)hhpoker德州挂...
透视指南!拱趴大菠萝自动计算机... 透视指南!拱趴大菠萝自动计算机器人(透视)确实存在有辅助神器(哔哩哔哩)1、下载好拱趴大菠萝自动计算...
透视妙招!佛手在线大菠萝为什么... 透视妙招!佛手在线大菠萝为什么都输(透视)确实有辅助工具(哔哩哔哩)1)佛手在线大菠萝为什么都输辅助...
透视秘籍!pokerworld... 透视秘籍!pokerworld软件(透视)确实是真的辅助app(哔哩哔哩)小薇(辅助器软件下载)致您...
透视教材!德州之星扫描器(透视... 透视教材!德州之星扫描器(透视)好像是真的辅助插件(哔哩哔哩)1、任何德州之星扫描器透视是真的假的的...
透视模块!wepoker怎么拿... 透视模块!wepoker怎么拿到好牌(透视)好像有辅助修改器(哔哩哔哩)1、下载好wepoker怎么...
透视诀窍!德普之星私人局辅助免... 透视诀窍!德普之星私人局辅助免费(透视)一贯存在有辅助插件(哔哩哔哩)所有人都在同一条线上,像星星一...
透视学习!wepoker手机版... 透视学习!wepoker手机版透视脚本(透视)好像是真的辅助工具(哔哩哔哩)1、每一步都需要思考,不...