none
Asp.Net 4.0 WebForms и jQuery.validate() RRS feed

  • Вопрос

  • Собственно вот код: 

    $('form').validate({
                    showErrors: function (errorMap, errorList) {
                        $.each(errorList, function (idx, error) {
                            $(error.element).after(jQuery('<span style="color:red"> * </span>'));
                        });
                    }
                });
    
                $('#NameTextBox').rules('add', {
                    required: true,
                    messages: {
                        required: 'Обязательное поле'
                    }
                });

    Валидация проходит, но не в какую не хочет писать сообщение об ошибке.

    Подскажите, как сделать, что бы сообщения выводились? 

    1 апреля 2014 г. 7:36

Ответы

  • Проблема решилась, путём отключения библиотеки: 

    <script src="/Scripts/jquery.validate.unobtrusive.min.js"type="text/javascript"></script>

    Оставил только :

    <script src="/Scripts/jquery.validate.min.js"type="text/javascript"></script>

    До этого было:

    <script src="/Scripts/jquery.validate.min.js"type="text/javascript"></script>

    <script src="/Scripts/jquery.validate.unobtrusive.min.js"type="text/javascript"></script>

    Сейчас всё норм. Мда ... всё до смешного просто :(

    • Помечено в качестве ответа Sergey Rogachev 10 апреля 2014 г. 11:09
    10 апреля 2014 г. 11:09

Все ответы

  • Если вместо 

    $(error.element).after(jQuery('<span style="color:red"> * </span>'));

    вывести ошибку алертами, видны окна?


    1 апреля 2014 г. 10:26
  • Ну вообще это место я сразу проверил в firebug'е. Не вызывается событие showErrors.
    2 апреля 2014 г. 2:20
  • $('form').on('validate', function(){
                    showErrors: function (errorMap, errorList) {
                        $.each(errorList, function (idx, error) {
                            $(error.element).after(jQuery('<span style="color:red"> * </span>'));
                        });
                    }
                });
    
                $('#NameTextBox').rules('add', {
                    required: true,
                    messages: {
                        required: 'Обязательное поле'
                    }
                });


    if (Thread.Was == HelpFul) Mark.As(HelpFul); else if (Thread.Was == Answered) Mark.As(Answered); else Provide(More.Details);

    2 апреля 2014 г. 5:20
  • $('form').on('validate', function(){
                    showErrors: function (errorMap, errorList) {
                        $.each(errorList, function (idx, error) {
                            $(error.element).after(jQuery('<span style="color:red"> * </span>'));
                        });
                    }
                });
    
                $('#NameTextBox').rules('add', {
                    required: true,
                    messages: {
                        required: 'Обязательное поле'
                    }
                });


    if (Thread.Was == HelpFul) Mark.As(HelpFul); else if (Thread.Was == Answered) Mark.As(Answered); else Provide(More.Details);

    А можно подробней, что вы хотели сказать?
    2 апреля 2014 г. 6:03
  • $('form').on('validate', function(){
                    showErrors: function (errorMap, errorList) {
                        $.each(errorList, function (idx, error) {
                            $(error.element).after(jQuery('<span style="color:red"> * </span>'));
                        });
                    }
                });
    
                $('#NameTextBox').rules('add', {
                    required: true,
                    messages: {
                        required: 'Обязательное поле'
                    }
                });


    if (Thread.Was == HelpFul) Mark.As(HelpFul); else if (Thread.Was == Answered) Mark.As(Answered); else Provide(More.Details);

    А можно подробней, что вы хотели сказать?

    тут я ошибся. попробуйте

    вот небольшая валидация

    <form class="cmxform" id="commentForm" method="get" action="">
        <input type="text" id="cname" name="username" />
        <input type="submit" />
    </form>
    <script>
        $(document).ready(function() {
        $('#commentForm').validate({
            rules: {
                username: {
                    required: true
                }
            },
            messages: {
                username: "<span style=\"color:red\"> * </span>"
            },
            submitHandler: function(form) {
                alert('valid form');
                return false;
            },
        });
    });
    </script>

    может поможет


    if (Thread.Was == HelpFul) Mark.As(HelpFul); else if (Thread.Was == Answered) Mark.As(Answered); else Provide(More.Details);

    2 апреля 2014 г. 6:36
  • Вы в отладчике смотрели, метод

    $('#NameTextBox').rules('add', {
                    required: true,
                    messages: {
                        required: 'Обязательное поле'
                    }
                });

    вызывается? Т.е находится ли элемент #NameTextBox.


    Сделаем содержимое сообщества лучше, вместе!

    6 апреля 2014 г. 10:01
    Модератор
  • Проблема решилась, путём отключения библиотеки: 

    <script src="/Scripts/jquery.validate.unobtrusive.min.js"type="text/javascript"></script>

    Оставил только :

    <script src="/Scripts/jquery.validate.min.js"type="text/javascript"></script>

    До этого было:

    <script src="/Scripts/jquery.validate.min.js"type="text/javascript"></script>

    <script src="/Scripts/jquery.validate.unobtrusive.min.js"type="text/javascript"></script>

    Сейчас всё норм. Мда ... всё до смешного просто :(

    • Помечено в качестве ответа Sergey Rogachev 10 апреля 2014 г. 11:09
    10 апреля 2014 г. 11:09