Bru*_*uno 24 .net c# data-annotations
我想使用DataAnnotations来验证实现某些接口的类,因此我将验证属性添加到接口,如下所示:
public interface IUser
{
[Required]
string Name { get; set; }
[Display(Name = "Email Address")]
[Required]
string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用它时不起作用Validator.TryValidateObject.
有没有办法做到这一点而不必编写自定义TryValidateObject方法?
Eri*_*ips 42
我很惊讶没有人提到MetadataTypeAttribute.但是,是的,这有效.
[MetadataType(typeof(ICustomerMetaData))]
public partial class Customer
{
}
public interface ICustomerMetaData
{
// Apply RequiredAttribute
[Required(ErrorMessage = "Title is required.")]
string Title { get; }
}
Run Code Online (Sandbox Code Playgroud)
至于直接使用接口(使用Customer: ICustomerMetaData):
产品团队不希望实现此功能,原因有两个:
•与DataAnnotations.Validator的一致性
•与ASP.Net MVC中的验证行为保持一致
•棘手的场景:一个类实现了两个具有相同属性但具有相互冲突属性的接口.哪个属性优先?
| 归档时间: |
|
| 查看次数: |
7724 次 |
| 最近记录: |