手动实验,结果如下:
有效的有:
1、必填,Required(不仅仅是属性得有,且值不能为空)
2、长度,StringLength
3、正在表达式,RegularExpression
4、范围,Range
另外无效的有(以下两种待继续完善,应该是我理解有误)
1、BindRequired(号称只要有属性,值没有没关系),但是实验下来是不管有没有都验证不了。
2、ModelState(swagger检测下来,凡是能进来的,ModelState.IsValid都是true……进不来的,ModelState.IsValid也检测不到。
public class ExpExpense { /// <summary> /// 费用报告名称 /// </summary> /// <value>string</value> [Required] [StringLength(160, MinimumLength = 3)] [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")] public string ExpenseSubject { get; set; } /// <summary> /// 申请总金额 /// </summary> [Range(10, 100, ErrorMessage = "金额只允许在10到100以内")] public decimal ApplyAmount { get; set; } }
浙公网安备 33010602011771号