Я пишу модель представления, полученную из ReactiveValidatedObject
.Это позволяет мне использовать аннотации данных для запуска проверки в представлении, но я столкнулся с проблемой: правила проверки оцениваются в случайном порядке.
Например, если свойствообъявлено так (поле модели является десятичным, а валидатор метода просто делает decimal.TryParse
и проверяет, является ли значение> = 0):
private string abc;
[ValidatesViaMethod(ErrorMessage = "Invalid", AllowNull = true]
[Required(ErrorMessage = "Required")]
public string Abc { /* ... */ }
У меня есть модульные тесты, которые проверяютповедение выглядит следующим образом:
- Если поле не заполнено, ошибка должна быть «Обязательна».
- Если в поле есть что-то, что не анализируется, ошибка должна быть «Invalid ".
Иногда я что-то изменяю в другом файле, запускаю все тесты, и этот провал.Смена порядка атрибутов в объявлении свойства исправляет тест.
Есть ли способ указать, в каком порядке эти атрибуты применяются?