0

いくつかのフォームに jQueryvalidate()プラグインを使用していますが、うまくいきます。唯一のことは、特別な検証プロセスを必要とする入力フィールドがあることです。方法は次のとおりです。

jQuery 検証プラグインは、必要なすべてのフィールドに対して domready で呼び出されます。

入力の例を次に示します。

<li>
    <label for="nome">Nome completo*</label>
    <input name="nome" type="text" id="nome" class="required"/>
</li>

そして、これが私の特別な関数を呼び出す方法です:

<li>
    <span id="sprytextfield1">
        <label for="cpf">CPF* (xxxxxxxxxxx)</label>
        <input name="cpf" type="text"  id="cpf" maxlength="15" class="required" />
        <span class="textfieldInvalidFormatMsg">CPF Inv&aacute;lido.</span>
    </span>
</li>

ファイルの最後で、Spry 関数を呼び出します。

<script type="text/javascript">
    <!--
        var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1","cpf");
    //-->
</script>

もちろん、Spry の CSS および JavaScript ファイルを head セクションと my special-validate.js.

jQueryvalidate()プラグインを使用して送信ボタンをクリックすると、ページは自動的に最初の間違った入力フィールドに戻り、エラーの種類(数字ではなく、有効な電子メールではないなど)を表示します。

しかし、この新しい機能では、この「最初の間違いに戻る」機能はもちろん機能しませんvalidate()

別のフォーム (写真のアップロードに関する) のルールを既に追加しましたが、次のようになります。

$("#commentForm").validate({
    rules: {
        foto34: {
            required: true,
            accept: "jpg|png|gif"
        }
    }
});

ここで私の質問は、検証プロセス全体のルールとして特別な検証機能を追加するにはどうすればよいですか?

これをよりよく理解するためのページは次のとおりです。リンクテキストと特別なフィールドは最初のものです: CPF.

私の問題を明確に説明できたことを願っています。

4

1 に答える 1

0

解決策を見つけたので、自分の質問に答えます。次のように DOM の準備が整う直前に、自分の cpf 番号 (ブラジルの ID 番号) をチェックする JavaScript 関数を追加しました。

jQuery.validator.addMethod(
    "cpf",
    function (valor){
        ...
    },
    "CPF inv&aacute;lido"
);

そして、ここに私のDOMの準備が整いました:

$(document).ready(function(){
    $("#commentForm").validate({
        rules: {
            campocpf: {
                required:true,
                cpf:true
            },
        }
    });
});

一部のブラジル人が興味を持っている場合は、CPF 検証を行う関数全体を示すことができます (私自身の番号でチェックして動作します)。また、CNPJ番号(企業向けのブラジル番号)用にもう1つ持っています。

于 2010-04-16T19:42:39.500 に答える