.net 后台使用ValidationAttribute
时间: 2023-07-11 15:04:08 浏览: 41
在 .NET 后台开发中,ValidationAttribute 是一个非常有用的特性,它可以用来对模型属性进行验证。以下是一些使用 ValidationAttribute 的示例:
1. 验证字符串长度
```
public class StringLengthAttribute : ValidationAttribute
{
private readonly int _maxLength;
private readonly int _minLength;
public StringLengthAttribute(int maxLength)
{
_maxLength = maxLength;
}
public StringLengthAttribute(int maxLength, int minLength)
{
_maxLength = maxLength;
_minLength = minLength;
}
public override bool IsValid(object value)
{
if (value == null) return true;
var stringValue = value.ToString();
return stringValue.Length <= _maxLength && stringValue.Length >= _minLength;
}
}
```
使用示例:
```
[Required(ErrorMessage = "用户名不能为空")]
[StringLength(20, ErrorMessage = "用户名长度不能超过20个字符")]
public string UserName { get; set; }
```
2. 验证数字范围
```
public class RangeAttribute : ValidationAttribute
{
private readonly double _minimum;
private readonly double _maximum;
public RangeAttribute(double minimum, double maximum)
{
_minimum = minimum;
_maximum = maximum;
}
public override bool IsValid(object value)
{
if (value == null) return true;
double doubleValue;
if (double.TryParse(value.ToString(), out doubleValue))
{
return doubleValue >= _minimum && doubleValue <= _maximum;
}
return false;
}
}
```
使用示例:
```
[Range(18, 60, ErrorMessage = "年龄必须在18到60岁之间")]
public int Age { get; set; }
```
通过使用 ValidationAttribute,开发人员可以非常方便地对模型属性进行验证,提高了代码的可读性和可维护性。