Проверка формы MVC на нескольких вкладках - автоматический переход на вкладку с ошибками проверки? - PullRequest
9 голосов
/ 12 июня 2011

У меня есть вкладка с несколькими вкладками.В каждой вкладке у меня есть несколько текстовых полей для ввода пользователем.Вкладка окружена формой и чуть ниже кнопки отправки.

Я прокомментировал проверку атрибутов модели.Валидация работает нормально, используя валидацию Jquery.Однако, если пользователь делает ошибку ввода в поле, переходит на другую вкладку и нажимает кнопку Отправить, ошибка появится на неактивной вкладке и, следовательно, не будет видна пользователю.Мне бы хотелось, чтобы проверка Jquery автоматически переходила на вкладку с ошибкой проверки, чтобы пользователь мог ее увидеть.Это возможно?

1 Ответ

6 голосов
/ 12 июня 2011

Не думаю, что для этого есть готовое решение.Но вы можете сделать это в JavaScript довольно легко.Что вы делаете при отправке формы, вы просматриваете содержимое каждой вкладки, и если вы обнаружите ошибку проверки, вы переключитесь на эту вкладку.

вот пример:

<script type="text/javascript">
    $(document).ready(function () {
        $("#myForm").submit(function () {
            $("#tabs").tabs("select", $("#myForm .input-validation-error").closest(".ui-tabs-panel").get(0).id);
        });
    });
</script>

В этом примеречто идентификатор вашей формы - это myForm, что идентификатор вашей вкладки - это вкладки.Также предполагается, что у вас есть ClientValidationEnabled = true и UnobtrusiveJavaScriptEnabled = true в web.config.Этот фрагмент кода переключится на первую вкладку с ошибкой.

Этот код является просто примером и может быть реорганизован, но он показывает идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...