Подтвердить что ты не робот

Показать ошибку проверки jquery ниже элемента

У меня есть два элемента (выпадающих), которые очень тесно расположены. Этим элементам требуются поля.

Я использую jquery valiate для проверки полей. Сообщение об ошибке отображается для обоих элементов, а пространство между элементами увеличивается, поскольку сообщение об ошибке первого элемента управления отображается рядом с элементом

$('#RegisterForm').validate({
        rules: {
            Country:{required: true},
            State:{required: true}
        },
        messages: {
            Country:{required: "Select Country"},
            State:{required: "Select State"}
        }
    });

Я попытался использовать break перед элементами как:

$('#RegisterForm').validate({
            rules: {
                Country:{required: true},
                State:{required: true}
            },
            messages: {
                Country:{required: "<br/>Select Country"},
                State:{required: "<br/>Select State"}
            }
        });

Когда я сделал это, второй элемент переместится к следующей строке.

Как я могу показать сообщения об ошибках чуть ниже элементов, не влияя на выравнивание/размещение соседних элементов.

4b9b3361

Ответ 1

Используйте параметр errorPlacement (см. здесь: http://docs.jquery.com/Plugins/Validation/validate#toptions)

$('#RegisterForm').validate({
        rules: {
            Country:{required: true},
            State:{required: true}
        },
        messages: {
            Country:{required: "Select Country"},
            State:{required: "Select State"}
        },
        errorPlacement: function(error, element) {
            error.appendTo( element.parent("td").next("td") );
        }
    });

Конечно, вам придется адаптировать код к вашей ситуации.

Ответ 2

Найден решение с использованием метода InsertAfter() на моей веб-форме aspx:

jQuery (function() {

//Сделайте проверку! Укажите элемент wrap, добавьте стиль, класс и введите сообщение об ошибке после элемента по идентификатору

$('#yourform').validate({
    wrapper: 'span',
      errorPlacement: function (error, element) {
        error.css({ 'color': '#FFA500', 'font-size': '0.750em' });     
        error.addClass("error")
        error.insertAfter($('[id*=element_before_error_message]'));
    }
});

//Применение правил

$('[id * = element_to_validate]'). rules ('add', {

     
   required: true,
   messages: {
   required: '<br />* Some Validation Text'
    }
});
         

});