Используя JQuery Проверяют Плагин для проверки нескольких полей формы с идентичными именами

Для пользователей MacBook Pro (например, под управлением macOs Sierra v10.12.6), чтобы установить ломбок на Eclipse Oxygen (4.7.0) или Photon (4.8. 0) , используя Java 1.8 (1.8.0_144), просто выполните следующие действия:

  1. Загрузите lombok с сайта Project Lombok ;
  2. Закройте Eclipse IDE, если он открыт;
  3. Запустить установку lombok , выполнив официальные шаги установки или выполнив команду: java -jar lombok.jar;
  4. Если lombok Установщик не находит вашу Eclipse IDE, вам будет предложено ввести путь к вашей Eclipse. Вы должны ввести путь к вашему файлу eclipse.ini . В моем случае было /tools/ide/eclipse/jee-oxygen/Eclipse.app/Contents/Eclipse/eclipse.ini.
  5. Выйдите из установщика и откройте Eclipse.
  6. В строке меню перейдите к Eclipse> About Eclipse и убедитесь, что установлен lombok :

    Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/
    

    Обязательно прокрутите текстовое окно закрыто, так как установленная версия Lombok появляется в тексте над строкой значков.

  7. Наконец, добавьте lombok к пути сборки вашего проекта в соответствии с используемым инструментом сборки. Например, для Maven используйте следующую зависимость:

    
        org.projectlombok
        lombok
        1.16.18
        provided
    
    

48
задан Ya. Perelman 30 May 2009 в 22:03
поделиться

3 ответа

Я потратил некоторое время на поиск и пробу разных вещей, когда, наконец, я попробовал самый тривиальный способ проверки нескольких полей. Каждое поле и оно » s клоны разделяют класс, уникальный для каждого набора. Я просто перебрал входные данные с этим классом и, как обычно, добавил свои правила проверки. Я надеюсь, что это может помочь кому-нибудь другому.

    $("#submit").click(function(){
    $("input.years").each(function(){
        $(this).rules("add", {
            required: true,
            messages: {
                required: "Specify the years you worked"
            }
        } );            
    });

    $("input.employerName").each(function(){
        $(this).rules("add", {
            required: true,
            messages: {
                required: "Specify the employer name"
            }
        } );            
    }); 

    $("input.employerPhone").each(function(){
        $(this).rules("add", {
            required: true,
            minlength: 10,
            messages: {
                required: "Specify the employer phone number",
                minlength: "Not long enough"
            }
        } );            
    }); 

    $("input.position").each(function(){
        $(this).rules("add", {
            required: true,
            messages: {
                required: "Specify your position"
            }
        } );            
    });             

    $("input.referenceName").each(function(){
        $(this).rules("add", {
            required: true,
            messages: {
                required: "Specify the reference name"
            }
        } );            
    });         

    $("input.referencePhone").each(function(){
        $(this).rules("add", {
            required: true,
            minlength: 10,
            messages: {
                required: "Specify your reference phone number",
                minlength: "Not long enough"
            }
        } );            
    });

// Now do your normal validation here, but don't assign rules/messages for the fields we just set them for





});
39
ответ дан 7 November 2019 в 12:03
поделиться

I just learned from a mail by the Plugins author, Jörn Zaefferer, that validation requires field names to be unique except for radio buttons and check boxes.

11
ответ дан 7 November 2019 в 12:03
поделиться

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

В вашем случае не только проверка JQuery, но и средство проверки формы на стороне сервера. сбой, потому что он не может назначить входные данные полям данных. Предположим, вы хотите, чтобы пользователь ввел имя, фамилию, адрес электронной почты, факс (необязательно), и все ваши поля ввода имеют name = "map"

. Тогда вы получите эти списки при отправке:

map = ['Joe','Doe','joe.doeAThotmail.com','++22 20182238'] //All fields completed
map = ['Joe','Doe','joe.doeAThotmail.com'] //OK, all mandatory fields completed 
map = ['Doe', 'joe.doeAThotmail.com','++22 20182238']//user forgot prename, should yield error

Вы видите, что невозможно надежно проверить эту форму.

Я рекомендую еще раз просмотреть документацию вашего обработчика perl-форм или адаптировать ее, если вы написали ее самостоятельно.

0
ответ дан 7 November 2019 в 12:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: