C# 多个输入模型,需要任何一个字段验证

C# 多个输入模型,需要任何一个字段验证,c#,asp.net-web-api,C#,Asp.net Web Api,应该有多个输入模型和任何一个必需的字段验证,下面提到了一个示例,请帮助解决它。下面我有三个输入字段,在这三个字段中的任何一个都是必需的 public class search { public string Sample1 { get; set; } public string Sample2 { get; set; } public string Sample3 { get; set; } } 使用IValidatableObject public class

应该有多个输入模型和任何一个必需的字段验证,下面提到了一个示例,请帮助解决它。下面我有三个输入字段,在这三个字段中的任何一个都是必需的

   public class search
{
    public string Sample1 { get; set; }
    public string Sample2 { get; set; }
    public string Sample3 { get; set; }
}

使用
IValidatableObject

public class search : IValidatableObject
{
    public string Sample1 { get; set; }
    public string Sample2 { get; set; }
    public string Sample3 { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) 
    { 
        var results = new List<ValidationResult>();
        if (string.IsNullOrEmpty(Sample1) && string.IsNullOrEmpty(Sample2) && string.IsNullOrEmpty(Sample3))
        {
            results.Add(new ValidationResult("One of them is required."));
        }
        return results;
    }
}
公共类搜索:IValidatableObject
{
公共字符串Sample1{get;set;}
公共字符串Sample2{get;set;}
公共字符串Sample3{get;set;}
公共IEnumerable验证(ValidationContext ValidationContext)
{ 
var results=新列表();
if(string.IsNullOrEmpty(Sample1)和&string.IsNullOrEmpty(Sample2)和&string.IsNullOrEmpty(Sample3))
{
结果。添加(新的ValidationResult(“需要其中一个”);
}
返回结果;
}
}
公共类搜索:IValidatableObject
{
公共字符串Sample1{get;set;}
公共字符串Sample2{get;set;}
公共字符串Sample3{get;set;}
公共IEnumerable验证(ValidationContext ValidationContext)
{ 
var results=新列表();
if(string.IsNullOrEmpty(Sample1)和&string.IsNullOrEmpty(Sample2)和&string.IsNullOrEmpty(Sample3))
{
结果。添加(新的ValidationResult(“必需”);
}
返回结果;
}
}

问题是什么?开始阅读有关模型验证和数据注释的内容。您需要指定有关使用此类的项目类型的更多信息,以便我们为您提供帮助。例如,它是一个ASP.NET项目吗?您是如何接收此输入的?EtcI已将输入的json发送为null或空,而不是抛出错误。传递值也会抛出错误。{“Sample1”:null,“Sample2”:null,“Sample3”:“test”}我的错,它应该是“and”,而不是“or”
public class search : IValidatableObject
{
    public string Sample1 { get; set; }
    public string Sample2 { get; set; }
    public string Sample3 { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) 
    { 
        var results = new List<ValidationResult>();
        if (string.IsNullOrEmpty(Sample1) && string.IsNullOrEmpty(Sample2) && string.IsNullOrEmpty(Sample3))
        {
            results.Add(new ValidationResult("Required."));
        }
        return results;
    }
}