Скажем, у меня есть форма, в которой есть поля для сбора данных о будущих конференциях (а не в реальном домене, но их хватит для целей этого вопроса). Часть проверки заключается в том, что новое событие может произойти только один раз в этом году, поэтому, если у вас есть конференция «stackoverflow getmessyandrunk», которая происходит в 2012 году, пользователю не разрешается вводить новое событие с тем же именем и год ...Asp.Net MVC 3 проверяет 2 зависимые поля
Теперь - то, что я пытался до сих пор, чтобы добавить удаленный валидатор к каждому из полей:
один для поля имя события, которое использует свойство AdditionalFields включать поле года и один для поля year, которое использует дополнительные поля для включения поля имени события.
не работает - если я пытаюсь добавить событие с тем же именем и годом, он добавляет ошибку только в поле года, исправляя его, исправляет его, а затем пытается снова добавить ошибку в поле имени и год, исправляя поле имени, чтобы сделать комбинацию уникальной, только удаляет ошибку из поля имени - она продолжается, как эта ...
Как это делают другие?
Нужно ли также поддерживать проверку на стороне клиента? Не можете ли вы выполнить проверку на сервере? Также, похоже, это ошибка проверки логики домена. Почему бы просто не добавить его в ModelState, а затем использовать помощник 'Html.ValidationSummary'? Почему вам нужно связать эту ошибку с конкретным полем, если на самом деле может быть несколько зависимых полей? –
Это имеет смысл. Я обдумаю это немного ... было бы хорошо получить контекстуальную обратную связь по полям, которые вызывают ошибку ... Кроме того, я не большой поклонник добавления valdiation в действие и добавление ошибок в modelstate вручную ... – iwayneo