0

フォームの検証にjQueryValidationPlugin 1.8.1を使用していますが、問題は正しく機能しないことです。

このhtmlコードで

<input name="Mobile" type="text" class="Input" id="Mobile" placeholder="Type your mobile number" value="<?php echo $activeUser->getMobile();?>" required="true" number="true" />

required="true"正常に動作していますが、動作していnumber="true"ません

この感謝を解決するのを手伝ってください

4

2 に答える 2

0

ページに追加additional-methods.jsします。mobileUK検証方法またはが必要です。使用してみてください:

<input name="Mobile" type="text" class="Input" id="Mobile" placeholder="Type your mobile number" value="<?php echo $activeUser->getMobile();?>" required="true" mobileUK="true" /> 

編集

HTMLバージョンが機能しない場合は、JSで設定してみてください。

$("#myform").validate({
  rules: {
    field: {
      required: true,
      mobileUK: true
    }
  }
});

独自の検証タイプを作成できます。例:http ://docs.jquery.com/Plugins/Validation/CustomMethods/phoneUS

jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, ""); 
    return this.optional(element) || phone_number.length > 9 &&
        phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");

$("#myform").validate({
  rules: {
    field: {
      required: true,
      phoneUS: true
    }
  }
});
于 2013-03-27T09:20:26.740 に答える
0

HTMLコードはHTML5検証のために因数分解されます...

<input name="Mobile" type="text" class="Input" id="Mobile"
placeholder="Type your mobile number" value="" required="true" number="true" />

これは、jQuery Validateプラグインのより更新されたバージョン(1.11.0など)では問題ありません。

動作中のデモ:http : //jsfiddle.net/5rPGv/2/

ただし、jQuery Validateプラグインのバージョン1.8.0を使用すると、同じコードが壊れます。

壊れた:http: //jsfiddle.net/5rPGv/1/


コードを修正するには、次の2つのオプションしかありません。

1)jQueryValidateプラグインを新しいバージョンに更新します。

また

.validate()2)任意のバージョン で、内でルールを宣言します。http://jsfiddle.net/5rPGv/3/

$(document).ready(function () {

    $('#myform').validate({
        rules: {
            Mobile: {
                required: true,
                number: true
            }
        }
    });

});
于 2013-03-27T15:47:02.603 に答える