如何在cakephp表单中使用jquery.validate插件
我的jQuery代码是:
$(document).ready(function(){ $('#StudentRegisterForm').validate({ rules: { email: { required:true, email:true } } }); });
并在我的表格电子邮件中:
input('email',array('class required email')); ?>
问题是jquery validate plugin在输入字段属性’name’上工作,但cakephp将其命名为data[Student][email]
。 如果我在jquery中使用此名称,则会抛出错误。 如果我重命名cakephp中的字段,则电子邮件值不会传递给数据库。 有没有其他回合的方式?
您只需要一个小调整,使用字符串设置规则,如下所示:
$(function(){ //short for $(document).ready(function(){ $('#RegisterForm').validate({ rules: { "data[Student][email]": { required:true, email:true } } }); });
我昨天遇到了这个问题。 答案是在输入字段上“强制”输入名称,例如:
echo $form->input('cheque_number',array('name'=>'InvoiceChequeNumber','value'=>''));
我花了一段时间试图避免这样做,但我找不到任何替代方案。 当你这样做时,CakePHP没有问题。
第一个更好用,因为这将保持蛋糕 – this->data structure
,但第二个不是。 这是为了提醒一下,当你使用data[modelname][fieldname]
,在输入aray中给出类名:
input('email',array('type'=>'text','class' => array('required','email'),'error'=>false,'label'=>false,'div'=>false)); ?>