Asp.net web api Web API 2-数据批注验证请求中没有重复项
我正在使用WebAPI2。 在我的请求中,我将请求作为Mytype的集合传递Asp.net web api Web API 2-数据批注验证请求中没有重复项,asp.net-web-api,Asp.net Web Api,我正在使用WebAPI2。 在我的请求中,我将请求作为Mytype的集合传递 MyType has following properties: Id(int), PaymentId(int). 我需要以下验证。请求的每个Id都应该是唯一的 我是否需要编写自定义验证,或者是否存在用于此目的的内置DataAnnotationValidation?我唯一能想到的方法是编写继承IValidatableObject的模型类,或者为整个模型编写自定义验证属性。Web API将在自定义验证逻辑上验证您的模
MyType has following properties:
Id(int),
PaymentId(int).
我需要以下验证。请求的每个Id都应该是唯一的
我是否需要编写自定义验证,或者是否存在用于此目的的内置DataAnnotationValidation?我唯一能想到的方法是编写继承IValidatableObject的模型类,或者为整个模型编写自定义验证属性。Web API将在自定义验证逻辑上验证您的模型
public class MyModel : IValidatableObject
{
public IEnumerable<MyType> MyTypes { get; set;}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
foreach(var myType in this.MyTypes)
{
// do validation logic
if (error)
{
yield return new ValidationResult("All Ids must be unique!")
}
}
}
}
公共类MyModel:IValidatableObject
{
公共IEnumerable MyTypes{get;set;}
公共IEnumerable验证(ValidationContext ValidationContext)
{
foreach(此.MyTypes中的var myType)
{
//执行验证逻辑
如果(错误)
{
返回新的ValidationResult(“所有ID必须唯一!”)
}
}
}
}