0

独自のカスタム メソッドを作成しようとしていますが、なぜ機能しないのかわかりません。ここに html コードがあります

<form id="testForm">
    <input type="text" required requnique value="" />
    <input type="button" id="validateIt" value="Run"/>
</form>

jsコード

$(document).ready(function(){
    $('#testForm').validate();
    $('#validateIt').click(function(){
        if($('#testForm').valid())
            alert('Valid');
        else
            alert('Not Valid');
    });

});
$.validator.addMethod("requnique", function(value, element) {
    console.log('hhh');
    //some customized test
    return false;
}, "Must be unique.");

実例はhttp://jsfiddle.net/TrYfA/で見ることができます。

4

1 に答える 1

0

あなたのコード:

<input type="text" required requnique value="" />

requniqueこのプラグインが使用する既知の属性ではありません。カスタムルール/メソッドをインラインで使用または宣言するには、次のclassように属性内に配置します...

<input type="text" required class="requnique" value="" />

このように required を内部に入れることもできclassます...

<input type="text" class="requnique required" value="" />

これは必須ではありません。属性を持つことrequiredは HTML5 検証に従っており、jQuery Validation プラグインは他の HTML5 検証属性と共にそれを自動的に取得します。

ただし、私の個人的な好みは、required="required"HTML5 検証属性を使用しているときに使用することです。 HTML の有効性は、doctype.

<input type="text" required="required" class="requnique" value="" />

重要:

jQuery Validate プラグインを適切に使用するには、すべての入力要素に一意の属性が必要です。name(これは、このプラグインがフォーム入力を内部的に追跡する方法です。)

<input type="text" name="myname" required="required" class="requnique" value="" />

動作デモ: http://jsfiddle.net/UGLqR/

于 2013-09-16T15:08:16.617 に答える