2013-07-11 3 views
0

У меня есть форма с несколькими полями.Где мне нужно поставить код проверки?

Некоторые из них userId, userFirstName, userLastName.

Когда пользователь вводит неправильное значение userId, тогда рядом с полем пользователя userId должно появиться сообщение об ошибке и добавить эту ошибку в validationSummary (это стандартное поведение для ненавязчивой проверки asp.net mvc). Если userId верен, страница должна удалить ошибки и автопопулить userFirstName и userLastName (это не стандартное поведение)

Как это реализовать?

Вот что приходит мне на ум:

  1. атрибут Удаленная проверка

    Он имеет плохую настройку в моем случае. Вот почему я решил не использовать его.

  2. Добавить специальный метод для проверки плагин JQuery (например

    jQuery.validator.addMethod ("userIdValidation", функция (значение, элемент) {// некоторую логику возврата что-то; }, «Пожалуйста, указать правильный userId ");)

и положил туда логику для проверки и для автопопуляции других полей. В этом случае я смешиваю проверку и прочее.

3. Добавьте специальный метод для плагина проверки jquery ТОЛЬКО для проверки и добавьте специальный обработчик для события изменения ввода для автопопуляции.

В этом случае мне нужно отправить TWO-запросы ajax на сервер для одной цели. И, конечно, это тоже не хорошо. Итак, каков правильный путь? Я запутался.

ответ

0

Вы подумали об использовании частичного представления для отображения userFirstName и userLastName?

Вы можете запустить запрос AJAX, который отправляет userId, а затем возвращает частичный вид полей имени. Внутри вызываемого контроллера вы можете проверить входящий идентификатор пользователя, а затем получить данные имени в одном запросе. Если проверка не удалась, вы можете вернуть частичный вид с пустыми полями.

Смежные вопросы