自定义的ValidationAttribute类,
Compare
[Compare("MyOtherProperty")] | 两个属性必须相同值,比如我们要求用户重复输入两次邮件地址时有用 | |
Range | [Range(10, 20)] | 属性值必须在指定的数值范围内,可以使用数值类型的最大最小值比如int.MinValue、int.MaxValue |
RegularExpression | [RegularExpression("pattern")] | 字符串值必须匹配正则表达式,默认大小写敏感,可以使用(?i)修饰符关闭大小写敏感,比如[RegularExpression("(?i)mypattern")] |
Required | [Required] | 属性值必须非空或者不能只是空格,如果允许全空格可以[Required(AllowEmptyStrings = true)] |
StringLength | [StringLength(10)] | 字符串长度不能超过给定的最大长度,也可以指定最小长度:[StringLength(10, MinimumLength=2)] |
public class MyValiueAttribute:ValidationAttribute
{
public MyValiueAttribute()
{
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return base.IsValid(value, validationContext);
}
}
直接在实体模型的属性上加验证特性,
在后台直接通过ModelState。isvalid验证
ModelState.IsValidField()检查模型绑定器能否成功绑定“Date”属性(ModelState.IsValidField(“data”)对实体类型的data属性进行判断),如果数据不合法使用ModelState.AddModelError()添加错误消息。如果没有任何错误,ModelState.IsValid=true,我们可以继续正常操作,否则返回数据输入界面。
validateinput(false ) 取消危险字符验证,比如尖括号