3
我想知道在保存模型之前验证模型的最佳方法以及优缺点。 我在服务层和IValidatableObject之间存在疑问。使用服务层或IValidatableObject
服务层:
public class PersonService
{
public void Insert(Person person)
{
if (!IsValid(person))
{
//something
}
}
}
IValidatableObject:
public class Person:IValidatableObject
{
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (!IsValid(this))
{
//something
}
}
}
不错,所以,如果我使用数据注解的接口IValidatableObject实际上没用是不是? – MuriloKunze
@murilokunze我不会说 - 数据注释和IValidatableObject.Validate对表示层非常有用(例如MVC ModelState与这些集成),也可以用于EF。它只是服务层验证通常对上下文和状态更具“特定性”。 – StuartLC