1

jquery.validate.jsフォームの検証を管理するために使用しています。私のフォームには次の行があります。

<input type="email" name="email" id="email" value="" />

この行には[ type="email"]があります。したがって、このフィールドに間違った電子メールを入力しようとすると、デフォルトの検証メッセージ(ポップアップ)が表示されます。他のすべてのメッセージはjquery.validate.js道を示しています。

それを修正する方法は?私は何が間違っているのですか?

4

3 に答える 3

1

form タグに「novalidate」属性を追加することで、新しい HTML5 フォーム フィールド (type=email を含む) のブラウザー検証を無効にすることができます。

例えば

<form method="post" action="" novalidate>...</form>
于 2013-02-22T01:32:05.703 に答える
0

に変更type=emailtype=textます。type=emailブラウザが要件のためにそれを妨げているため、送信はトリガーされません。

于 2013-02-22T01:09:35.790 に答える
0

あなたのコード:

<input type="email" name="email" id="email" value="" />

デスクトップブラウザーで動作しています: http://jsfiddle.net/WhH8a/。「動作」することで、「メール形式」メッセージを含むすべてのメッセージが検証プラグインから適切に送信されていることがわかります。

jQuery Validate プラグインは、HTML 5 フォームの検証を無効にすることになっている要素にanovalidate="novalidate"を動的に挿入します。<form>ただし、モバイル ブラウザで機能しない理由があるかもしれません。

Validate プラグインは HTML 5 検証を無効にし、HTML 5 検証を優先してプラグインを使用したいので、マークアップから削除することもできます...

... に変更type="email"type="text"ます。

emailルールを使用する場合は、次のようにします。

HTML :

<input type="text" name="email" id="email" value="" />

jQuery :

$(document).ready(function () {

    $('#myform').validate({ // initialize the plugin
        // other options,
        rules: {
            email: {
                required: true,
                email: true
            },
            // other rules
        }
    });

});

実際のデモ: http://jsfiddle.net/TxN48/


classまたは、これら 2 つのルールを属性内でインラインで指定することもできます。

HTML :

<input type="text" name="email" id="email" class="required email" value="" />

jQuery :

$(document).ready(function () {

    $('#myform').validate({ // initialize the plugin
        // other rules & options
    });

});

実際のデモ: http://jsfiddle.net/TxN48/1/

于 2013-02-22T01:25:31.507 に答える