Как вернуть ключ для всей модели в FluentValidation

Представьте, у вас есть эта модель

public Class SomeModel 
{
    public string someString1 { get; set; }
    public string someString2 { get; set; }
}

Теперь вы хотите проверить эту модель. В FluentValidation вы пишете this.RuleFor(m => m.{property} для каждого свойства в модели/классе, и когда возникает ошибка проверки, вы получаете ключ свойства, не прошедшего проверку, и сообщение.

Теперь мне интересно, как вы можете установить ключ для всей модели, когда она возвращает ошибку проверки, которая проверяет два или более свойства. (например, this.RuleFor(m => m).TestIfPropsAreEqual(); ) Как правильно решить эту проблему? Я действительно не хочу писать метод для свойства, потому что это было бы неправильно, потому что вы проверяете всю модель, а не конкретное свойство.

РЕДАКТИРОВАТЬ: забыл упомянуть, что при проверке всей модели возвращаемый ключ пуст.


person Tomato    schedule 02.08.2019    source источник
comment
Вы можете использовать расширение resharper. Он легко генерирует метод equals   -  person Serhat Oz    schedule 02.08.2019
comment
@SerhatOz К сожалению, у меня нет доступа к ReSharper. Также я понятия не имею, что это за метод.   -  person Tomato    schedule 02.08.2019


Ответы (1)


https://fluentvalidation.net/start#overriding-the-property-name это ответ. Я могу дать имя классу или новое имя свойству.

person Tomato    schedule 02.08.2019