在 MVC 中使用属性或设置类 ASP.NET
本文关键字:设置 ASP NET 属性 MVC | 更新日期: 2023-09-27 18:30:26
我有一个包含地址字段的客户类。根据我的研究,我可以使用属性:
public class Customer{
//...
[Required]
public Address CustomerAddress { get; set; }
}
或其他方式:
public class AddressSettings{
public bool AddressRequired { get; set; }
//...other settings
}
这两种方法都是有效的方法吗?如果不是,为什么另一种方式更好?
在我看来,使用属性更好、更专业,使用属性更具可读性、更灵活、更易于管理,并且它们具有许多开箱即用的功能
对于基本的验证,最好使用DataAnnotations。
另一个选择是FluentValidation(我强烈推荐)
您可以使用单独的类进行验证,但仍与视图模型属性具有强类型关联
[Validator(typeof(PersonValidator))]
public class Person {
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public int Age { get; set; }
}
public class PersonValidator : AbstractValidator<Person> {
public PersonValidator() {
RuleFor(x => x.Id).NotNull();
RuleFor(x => x.Name).Length(0, 10);
RuleFor(x => x.Email).EmailAddress();
RuleFor(x => x.Age).InclusiveBetween(18, 60);
}
}
使用此方法,您可以拥有更复杂、更丰富的验证逻辑。