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字段,将会输出错误消息:"请选择正确的性别"。

相关内容

热门资讯

德州之星插件!wpk微扑克有挂... 德州之星插件!wpk微扑克有挂吗,线上德州ai机器人,技巧教程(有挂详情)1、很好的工具软件,可以解...
透视肯定(wepOkE)透明挂... 透视肯定(wepOkE)透明挂辅助插件(wepokeai机器人)总是是真的有挂(详细透视实用技巧)1...
德扑ai智能机器人!aa扑克有... 德扑ai智能机器人!aa扑克有挂吗,wepoke ai代打,2025新版技巧(有挂黑科技)德扑ai智...
透视攻略(wepOKE)透视辅... 透视攻略(wepOKE)透视辅助插件(wepoke是真的有挂)素来真的是有挂(详细透视靠谱教程)准备...
wpk提高胜率!红龙扑克怎么看... 一、wpk提高胜率简介了解软件请加微:136704302wpk提高胜率是一款在线扑克游戏平台,玩家可...
透视ai代打(wePOke)透... 透视ai代打(wePOke)透明挂辅助器(wepoke辅助技巧)果然真的是有挂(详细透视微扑克教程)...
wepoke一定有挂!德州数据... wepoke一定有挂!德州数据辅助器,wpk辅助挂,黑科技教程(有挂教程)是一款可以让一直输的玩家,...
透视真的(WepOke)外挂透... 透视真的(WepOke)外挂透明挂辅助挂(wepoke是真的有挂)好像存在有挂(详细透视必赢方法);...
德州之星有外挂!aapoker... 德州之星有外挂!aapoker透明挂,wpk辅助软件,玩家教程(有挂了解);是一款可以让一直输的玩家...
透视肯定(wePOKE)透明挂... 透视肯定(wePOKE)透明挂辅助app(wepoke辅助有挂)真是真的是有挂(详细透视插件教程);...