前言
C# 中ModelState 使用RegularExpression 目前有三种情况
- 直接使用正则表达式;
- 继承RegularExpressionAttribute重新封装;
- 定义参数使用const关键词。
直接使用正则
RegularExpression(@"^\+?[1-9][0-9]*$", ErrorMessage = "{0}必须为数字类型!")]
继承RegularExpressionAttribute
public class No0Reg : RegularExpressionAttribute
{
public No0Reg() : base(@"^\+?[1-9][0-9]*$")
{
this.ErrorMessage = "{0}异常信息!"; //设定ErrorMessage的默认值。使用的人也可以覆盖这个值
}
}
const关键词定义
关键词官网参考:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/const
定义
/// <summary>
/// 数字类型
/// </summary>
public const string Positive_Number_Reg = @"^(0|[1-9][0-9]*)$";
使用
[Display(Name = "*输入信息")]
[RegularExpression(RegexHelper.Positive_Number_Reg, ErrorMessage = "{0}必须为数字类型!")]