Модель - Product.cs
public string id { get; set; }
public string name { get; set; }
public string type { get; set; }
public string status { get; set; }
Правило проверки текучести
RuleFor(x => x.id).NotEmpty().When(x => x.status == "FIN").WithMessage("This field is required").IsValidInt();
RuleFor(x => x.name).NotEmpty().When(x => x.status == "FIN").WithMessage("This field is required");
RuleFor(x => x.type).NotEmpty().When(x => x.status == "FIN").When(x=>x.status == "FIN").WithMessage("This field is required").DDLIdExist();
Здесь IsValidInt()
и DDLIdExist()
- мои пользовательские правила проверки. Также он только проверяет, является ли поле не пустым, когда статус установлен на FIN .
Теперь, как вы можете видеть, часть ниже довольно повторяющаяся.
NotEmpty().When(x => x.status == "FIN").WithMessage("This field is required")
Таким образом, мой вопрос заключается в том, могу ли я объединить эти два правила в одну пользовательскую функцию проверки, которая принимает x.status
в качестве аргумента и печатает «Это поле обязательно для заполнения». Если да, то как?