asp.net mvc 2 проверка ввода текста в модальных окнах

Мне поручено создать валидацию на стороне клиента в форме в приложении asp.net MVC 2, которое имеет модальное окно (модальное окно существует как часть формы упаковки, это не форма сама по себе). как я могу обеспечить проверку этих входов текстового поля, пока модальное окно видно, но не проверять, пока модальное окно не отображается (чтобы не вызывать проблем в остальной части формы, если модальное окно никогда не требуется)

Как лучше всего достичь этой функциональности?

спасибо ник


person WickyNilliams    schedule 18.05.2010    source источник


Ответы (2)


Если вы используете плагин проверки jQuery (неясно из ваших тегов), просто дайте ему выражение зависимости, которое включает :visible на _ 2_, например:

$("form").validate({
  rules: {
    formFieldName: { required: "#formFieldID:visible" }
  }
});
person Nick Craver    schedule 18.05.2010
comment
да, я использую плагин jquery.validate, код проверки автоматически генерируется MVC, так будет ли это работать? в качестве альтернативы есть способ заставить MVC генерировать такую ​​логику самостоятельно (возможно, настраиваемый валидатор?) - person WickyNilliams; 18.05.2010
comment
@nick - я не думаю, что вы можете, поскольку аннотации на модели не должны ничего знать о представлении и о том, что видно, вы можете добавить правило после сгенерированных с помощью этого: $("#formFieldID").rules("add", { required: "#formFieldID:visible" }); - person Nick Craver; 18.05.2010

Отметьте поля для проверки при загрузке формы. Когда отображается окно, отметьте формы для проверки, когда оно скрыто, снимите флажок.

Или создайте массив полей для проверки и добавьте в него поля из окна, когда оно отображается, и удалите их, когда это не так.

person matpol    schedule 18.05.2010