ASP.NET Core自定义验证错误消息未本地化
创始人
2024-09-16 04:30:19
0

在ASP.NET Core中,可以使用自定义验证错误消息来实现本地化。下面是一个解决方法的代码示例:

首先,创建一个自定义的验证特性类,继承自ValidationAttribute类,并重写IsValid方法和FormatErrorMessage方法。在IsValid方法中编写自定义的验证逻辑,在FormatErrorMessage方法中返回本地化的错误消息。

public class CustomValidationAttribute : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        // 自定义验证逻辑
        if (value == null || (int)value < 18)
        {
            return new ValidationResult(FormatErrorMessage(validationContext.DisplayName));
        }

        return ValidationResult.Success;
    }

    public override string FormatErrorMessage(string name)
    {
        // 返回本地化的错误消息
        return $"年龄必须大于18岁";
    }
}

然后,在模型中使用这个自定义的验证特性进行验证:

public class PersonModel
{
    [CustomValidation]
    public int Age { get; set; }
}

最后,在Controller中进行模型验证,并处理验证错误:

public IActionResult Create(PersonModel model)
{
    if (!ModelState.IsValid)
    {
        // 获取验证错误消息
        var errorMessages = ModelState.Values.SelectMany(v => v.Errors)
                                             .Select(e => e.ErrorMessage)
                                             .ToList();

        // 处理错误消息...
    }

    // 验证通过,继续处理...
}

通过上述方法,可以实现ASP.NET Core中自定义验证错误消息的本地化。

相关内容

热门资讯

透视脚本(微扑克辅助器ios)... 1、透视脚本(微扑克辅助器ios)wpk微扑克真的有助辅吗(详细辅助我来教教你)切实是真的有挂。2、...
透视挂(aapoker透明挂)... 自定义系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分享给你好...
辅助透视(wpk提高胜率)德州... 辅助透视(wpk提高胜率)德州透视辅助(详细辅助透明挂教程)素来有挂1、不需要AI权限,帮助你快速的...
透视科技(wpk辅助挂)扑克时... 透视科技(wpk辅助挂)扑克时间可以控制吗(详细辅助透明挂教程)往昔真的有挂;无聊就玩这款真的有辅助...
透视总结(aapoker透视辅... 1、透视总结(aapoker透视辅助)wpk俱乐部外挂(详细辅助wepoke教程)原先有挂;详细教程...
透视辅助(WePoKe透明挂)... 自定义系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分享给你好...
透视数据(wpk有外挂)德扑保... 透视数据(wpk有外挂)德扑保险计算器(详细辅助德州教程)原生有挂;无聊就玩这款真的有辅助,无限炸弹...
wepoke ai辅助!德扑之... 1、wepoke ai辅助!德扑之星创建房间设置,(线上德州)好像是有挂(详细辅助详细教程)(UU ...
透视数据(wepokeai机器... 透视数据(wepokeai机器人)wpk长期盈利打法(详细辅助扑克教程)总是有挂1、许多玩家不知道辅...
wepoke辅助!wopoke... WePoker透视辅助版本稳定性对比与推荐‌:wepoke辅助!wopoker辅助v3.0,(手机德...