如何更改内置 ValidationAttributes 的默认错误信息?
How to change the default error message of built-in ValidationAttributes?
我想用我自己的消息替换默认错误消息,例如 RequiredAttribute
或 RegularExpressionAttribute
,这样我就不需要在以下位置指定显式 ErrorMessage
属性用法。
编辑:句子的最后一部分意味着我知道可以在属性使用时指定我自己的 ErrorMessage
,我想避免它以保持项目干燥。
有可能吗?我在 .NET 库中没有找到任何相关的 属性,我目前不知道如何替换存储默认消息的 .NET 资源。
只需创建您自己的具有所需默认消息的 [Required]
属性版本。如果您只想使用自定义错误消息,请将其继承自 RequiredAttribute
,这样您就可以利用相同的 IsValid
逻辑
public class MyRequired : RequiredAttribute
{
public MyRequired()
{
this.ErrorMessage = "Custom Validation Error Message.";
}
}
如果您需要更好地控制其他验证行为,您可以 create your own DataAnnotation Attributes。
public class MyRequired : ValidationAttribute
{
public MyRequired() : base("My Custom Message")
{
}
public override bool IsValid(object value)
{
//Your custom validation logic
return (value != null);
}
}
我想用我自己的消息替换默认错误消息,例如 RequiredAttribute
或 RegularExpressionAttribute
,这样我就不需要在以下位置指定显式 ErrorMessage
属性用法。
编辑:句子的最后一部分意味着我知道可以在属性使用时指定我自己的 ErrorMessage
,我想避免它以保持项目干燥。
有可能吗?我在 .NET 库中没有找到任何相关的 属性,我目前不知道如何替换存储默认消息的 .NET 资源。
只需创建您自己的具有所需默认消息的 [Required]
属性版本。如果您只想使用自定义错误消息,请将其继承自 RequiredAttribute
,这样您就可以利用相同的 IsValid
逻辑
public class MyRequired : RequiredAttribute
{
public MyRequired()
{
this.ErrorMessage = "Custom Validation Error Message.";
}
}
如果您需要更好地控制其他验证行为,您可以 create your own DataAnnotation Attributes。
public class MyRequired : ValidationAttribute
{
public MyRequired() : base("My Custom Message")
{
}
public override bool IsValid(object value)
{
//Your custom validation logic
return (value != null);
}
}