如何检查。验证未知数量的输入?

时间:2014-02-26 19:20:12

标签: javascript php jquery jquery-validate

我将有一个表格,其中会有未知数量的文字输入! 问题是如果输入有效,我必须控制输入。 我正是这样做的:

<form action = "invita-utenti_.php" method = "POST" id="invita">
    <div id = "cont-nomi">
        <ul id = "utenti">          
            <?php
                $i = 2;
                while($i <= ($n_part)){                 
                    echo'
                        <li class = "utenti">
                             <label for="nome" class = "crea-camp-title"> Utente '.($i).' </label>
                                <input type = "text" name = "utente'.$i.'" id = "utente'.$i.'" size = "16" class = "utenti"  />
                        </li>';
                                $i++;                   
                    }               
            ?>
        </ul>
        <input type = "submit"<input type = "submit" value = "Invita" class = "reg-utenti" />
    </div>
</form>

这是Js脚本:

$(document).ready(function() {
    $("#invita").validate({
        rules: {
            utente2: 
                {required: true,
                remote : 'check_inviti.php' 
            }
        },
        messages : {
            utente2:
                {required:"inserire email o nome utente",
                remote: "inserire email o nome utente valido"
            }
        }
    });
});

* check_inviti.php *没问题。 您可以看到的问题是,它只检查 “utente2” ,但它甚至可能是“utente3”“utente4”来到“utente100”

有没有一种快速检查所有输入字段的方法,而无需在js中进行 (通过cookie传递变量)?

1 个答案:

答案 0 :(得分:0)

您可以使用the plugin's .rules('add') method动态应用规则。使用附加到jQuery .each()的“starts with”选择器一次定位所有字段。

$(document).ready(function() {

    $("#invita").validate({   // initialize plugin on your form
        // other rules or options
    });

    $('input[name^="utente"]').each(function() {  // target all fields starting with "utente"
        $(this).rules('add', {  // declare the rules on each targeted field
            required: true,
            remote : 'check_inviti.php',
            messages : {
                required:  "inserire email o nome utente",
                remote: "inserire email o nome utente valido"
            }
        });
    });

});