Как изменить проверку MVC, чтобы потерять фокус на поле?

0

Я использую модельный класс с анонимами данных в MVC 4 для проверки формы на моем представлении. Это прекрасно работает, однако, @Html.ValidationMessageFor(model => model.bijkomendeUitleg) показывает мои ошибки при наборе текста...

Например, у меня минимальная длина 10 для текстового поля, когда я начинаю вводить текст и у меня меньше 10 символов, появляется ошибка.

Я хочу, чтобы ошибки отображались, когда я теряю фокус на текстовом поле или при нажатии на submit...

Есть ли способ изменить это поведение?

Теги:
validation
asp.net-mvc
unobtrusive-validation
asp.net-mvc-4

2 ответа

1

попробуйте это. Если вы используете jquery 1.7.1 с ненавязчивой проверкой, что-то вроде этого должно сделать трюк:

<script>
    $('input[data-val=true]').on('blur', function() {
    $(this).valid();
});

Если вы используете более старую версию jquery, измените на это:

<script>
    $('input[data-val=true]').blur(function() {
    $(this).valid();
});

  • 0
    Я не знаю, что использует JQuery MVC, так как я сказал, что проверка была выполнена автоматически, на мой взгляд есть @section Scripts { @Scripts.Render("~/bundles/jqueryval") }
0

Перейдите в jquery.validate.js. Там вы найдете

    $.extend($.validator, {......})

Там вы найдете

        onkeyup: function(element, event) {
        if ( element.name in this.submitted || element == this.lastElement ) {
            this.element(element);
        }
    },

Удалите этот код. Я не пробовал это. Но надеюсь, что это сработает для вас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню