2011-12-07 94 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

你使用哪个版本的蛋糕?至少在2.0中,字段名称如下所示:'data [User] [email]'(不带单引号)。此外,你应用验证方法的方式似乎不符合这里的文档http://docs.jquery.com/Plugins/Validation - 假设这是你使用的插件。 – bjudson

+0

我正在使用蛋糕1.2 stable.Now我得到这个代码工作,并且...我有这个问题,等于规则是不是在它工作..如果我做错了,请让我知道...我乔普我是以下docs.jquery.com/Plugins/Validation methods..follwing是我的代码 “数据[用户] [口令]”:{ \t需要:真, \t MINLENGTH:6 \t}, \t“数据[用户] [密码1]“:{ \t要求:真实, \t equalTo: '数据[用户] [密码]', \t MINLENGTH个:6, \t}, – jack

+0

Thnks为您try.I正在作出一个亲瑕疵,使用元素ID而不是元素ID – jack

回答

1

其solved.I是犯错误与ID的元素id.Instead我使用的名称attrbute“我真傻”。过了;翁脂肪燃烧小时我得到thit下面的代码wrking

<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

hello @jack请告诉我如何使用远程验证,我申请但没有得到用户名的值在控制器来检查数据是否存在 – Tarzan

+0

https://jqueryvalidation.org/remote-method /你可以使用这个@Tarzan – jack