.net service 使用ValidationAttribute 校验数据模型
时间: 2023-11-27 16:52:35 浏览: 32
在 .NET Service 中,使用 ValidationAttribute 可以轻松地对数据模型进行校验。ValidationAttribute 是一个抽象类,可以通过继承它并重写它的 IsValid 方法来实现校验逻辑。下面是一个示例:
```csharp
public class Person
{
[Required(ErrorMessage = "Name is required.")]
public string Name { get; set; }
[Range(0, 120, ErrorMessage = "Age must be between 0 and 120.")]
public int Age { get; set; }
}
public class PersonService
{
public bool AddPerson(Person person)
{
// 使用 Validator 类进行校验
var validationResults = new List<ValidationResult>();
var validationContext = new ValidationContext(person);
bool isValid = Validator.TryValidateObject(person, validationContext, validationResults, true);
if (!isValid)
{
// 处理校验失败的情况
foreach (var result in validationResults)
{
Console.WriteLine(result.ErrorMessage);
}
return false;
}
// 处理校验成功的情况
Console.WriteLine("Add person successfully.");
return true;
}
}
```
在上面的示例中,Person 类中的 Name 和 Age 属性上都添加了 ValidationAttribute。在 PersonService 类中,使用 Validator 类的 TryValidateObject 方法对 Person 对象进行校验。如果校验失败,将遍历 ValidationResult 集合并输出错误信息。如果校验成功,将执行相应的业务逻辑。
需要注意的是,如果要使用 ValidationAttribute 进行校验,必须引入 System.ComponentModel.DataAnnotations 命名空间。