2011-12-07 4 views
0

私はcakephpプロジェクトでjqueryバリデータを使用しようとしています.jqueryを持つprobemがあります 私のフォームのセレクタIDが間違っていると思います。 私は完全に新鮮です。cakephp jqueryバリデータ

私は、次のコード

$(document).ready(function(){  $('#UserQuickCompanyRegisterForm').validate({ 
     rules: { 
      "data['User']['email']": { 
       required: true, 
       email: true 
      } 
     } 
     });  }); 

を使用して、私のフォームは、このようなものです。

echo $form->create('User', array('action' => 'quick_company_register','inputDefaults'=> array('label'=>false))); 

以下のように出力されます。私が間違っているの何

<form id="UserQuickCompanyRegisterForm" accept-charset="utf-8" method="post" action="/cityportal/index.php/users/quick_company_register" novalidate="novalidate">. 

...事前のおかげで

+0

どのバージョンのCakeを使用していますか? 2.0では、少なくともフィールド名は 'data [User] [email]'(一重引用符なし)のようになります。また、検証メソッドを適用する方法は、http://docs.jquery.com/Plugins/Validationのドキュメンテーションに準拠していないようです。使用しているプラ​​グインであると仮定します。 – bjudson

+0

私はケーキ1.2を使用しています。安定しています。このコードが動作しています...私はequaltoルールがそれで動作していないというこの問題があります...そして、もし私が間違っていたら私に知らせてください... docs.jquery.com/Plugins/Validationのmethods..follwing以下私のコードである "データ[ユーザー] [パスワード]":{ \tが必要:真、 \t MINLENGTH:6 \t}、 \t「データ[ユーザー] [パスワード1] ":{ \t必要: \t equalTo、真: 'データ[ユーザー]、[パスワード]'、 は\t MINLENGTH:6、 \t}、あなたのtry.Iため – jack

+0

Thnksはプロを作っていました要素IDの代わりに要素idを使用すると駄目になる – jack

答えて

1

そのsolved.Iは私が名前attrbuteを使用するIDの要素id.Insteadで間違いを犯した.After「愚かな私」;。オング脂肪燃焼時間私はあなたのコードを次のコードを得た

<script type="text/javascript">  $(function(){   $.validator.addMethod("alphanum", function(value, element) { 
      return this.optional(element) || /^[a-z0-9/_]+$/i.test(value); 
     }, "Username must contain only alphanumeric."); 

     jQuery.validator.addMethod("exactlength", function(value, element, param) {  return this.optional(element) || value.length == param;  }, jQuery.format("Please enter exactly {0} characters.")); 
      $('#UserQuickCompanyRegisterForm').validate({   debug: false, 
     errorClass: "authError", 
     errorElement: "span", 
     rules: {  
      "data[User][username]": { 
       required: true, 
       alphanum: true, 
       minlength: 4, 
       maxlength: 30 
      }, 
      "data[User][password]": { 
       required: true, 
       minlength: 6 
      }, 
      "data[User][password1]": { 
       required: true, 
       equalTo: "data[User][password]" 
      }, 
      "data[User][first_name]": { 
       required: true, 
       maxlength: 30, 
       alphanum: true 
      }, 
      "data[User][second_name]": { 
       required: true, 
       maxlength: 30, 
       alphanum: true 
      }, 
      "data[ZIP][zipcode]": { 
       required: true, 
       number:true, 
       exactlength: 5 
      }, 

      "data[User][email]": { 
       required: true, 
       email: true 
      }, 
      "data[User][telephone]": { 
       number: true, 
       exactlength: 10 
      } 
     }, 
     highlight: function(element, errorClass) { 
     $(element).removeClass(errorClass); 
     } 
     });  }); 
     </script> 
+0

こんにちは@jackリモート検証を使用するにはどうすればいいのか教えてください。データが存在するかどうかを確認するには、コントローラのユーザー名の値を取得してください。 – Tarzan

+0

https://jqueryvalidation.org/remote-method /あなたはこの@ Tarzanを利用できます – jack

関連する問題