Я создал собственный атрибут ValidationAttribute "RequiredIf", чтобы определить, является ли поле пустым или нет согласно другому полю. Я создал адаптер и добавил метод.
Вот пример: http://anthonyvscode.com/2011/07/14/mvc-3-requiredif-validator-for-multiple-values/
Проблема в том, что свойство имеет больше метаданных, чем требуется, и свойство Int32, для этого, если моя форма проверена на клиенте, сначала она оценивается, если значение является числом, а после, если значение пустое.
[Display(Name = "Number of cars")]
[RequiredIf("IsRent", true, ErrorMessage = "Number of cars is required")]
[Range(0, 9, ErrorMessage = "Error range")]
public virtual Int32? NumberCars
{
set;
get;
}
Как это исправить? Требуется правильный порядок правил, если их количество и диапазон.