【问题标题】:How to use jquery.validate plugin in cakephp form如何以 cakephp 形式使用 jquery.validate 插件
【发布时间】:2010-07-20 10:22:26
【问题描述】:

我的 jQuery 代码是:

$(document).ready(function(){   
  $('#StudentRegisterForm').validate({          
    rules: {
      email: {
        required:true,
        email:true
      }
    }
  });    
});

并在我的表单中发送电子邮件:

<td><?php echo $form->input('email',array('class required email')); ?></td>

问题是 jquery validate 插件适用于输入字段属性“名称”,但 cakephp 将其命名为 data[Student][email]。如果我在 jquery 中使用此名称,则会引发错误。如果我重命名 cakephp 中的字段,则电子邮件值不会传递到数据库。还有其他的办法吗?

【问题讨论】:

  • 只是您的示例中的一个小错字。你想要类作为一个数组。 'class'=&gt;array('required','email') 的正确性;)
  • 对我来说它不起作用,但这有效 input('email',array('class'=>'required email')); ?>

标签: jquery cakephp jquery-validate


【解决方案1】:

您只需要稍作调整,使用字符串设置规则,如下所示:

$(function(){ //short for $(document).ready(function(){
  $('#RegisterForm').validate({
    rules: {
        "data[Student][email]": {
            required:true,
            email:true
        }
    }
  });
});

【讨论】:

  • 我无法让它工作,但我没想到引用这个名字! +1
  • @chinni776 - 欢迎 :) 确保通过复选标记接受答案,以便下一个在 google 上找到此问题的用户可以快速找到有效的答案 :)
  • @chinni776 - 延迟从来都不是问题......我们只是希望这里的答案对提问者有此问题的下一个人尽可能有用。 ..谷歌搜索答案并到达这里:)
  • 天哪...我无法解释这个问题对我来说是多么令人沮丧...除了我在 Rails 中遇到的问题。然后某个天使通过指向我这个答案来回答我的问题。感谢上帝。我非常喜欢!
【解决方案2】:

我昨天就遇到了这个问题。答案是“强制”输入字段上的名称,例如:

echo $form->input('cheque_number',array('name'=>'InvoiceChequeNumber','value'=>''));

我花了一段时间试图避免这样做,但我找不到任何替代方法。当你这样做时,CakePHP 没有问题。

【讨论】:

    【解决方案3】:

    第一个更好用,因为这将保持蛋糕this-&gt;data structure,但第二个不是。这是为了提醒您,当您使用 data[modelname][fieldname] 时,请在输入数组中给出类名,例如:

    <?php echo $form->input('email',array('type'=>'text','class' => array('required','email'),'error'=>false,'label'=>false,'div'=>false));  ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      • 2016-10-31
      • 2016-04-01
      • 1970-01-01
      相关资源
      最近更新 更多