我的模型中有我的验证规则:
public $name;
public $email;
public function rules() {
return array(
// name, email
array('name, email', 'required'),
// message
array('nameconfirm, emailconfirm, message, referrerID, referrerName', 'safe'),
);
}
在我看来,我有:
<div>
<?php echo $form->labelEx($model, 'name'); ?>
<?php echo $form->textField($model, 'name', array('name' => 'name[]', 'class' => "form-input" )); ?>
<small<?php $model->getError('name') ? " class='error'" : '' ?>><?php echo $form->error($model, 'name'); ?></small>
</div>
<div>
<?php echo $form->labelEx($model, 'email'); ?>
<?php echo $form->textField($model, 'email', array('name' => 'email[]', 'class' => "form-input " )); ?>
<small<?php $model->getError('email') ? " class='error'" : '' ?>><?php echo $form->error($model, 'email'); ?></small>
</div>
然后使用一些Javascript,我通过选择一个按钮克隆这些字段。
我的问题是如何更改我的代码,以便每次重复名称和电子邮件时都会验证?
例如,有时我可能只有1个名字 - 电子邮件然后选择一个按钮,它可能是2个名字 - 电子邮件。这可能会达到10甚至更多。
目前,只验证了第一个“名称”和“电子邮件”。
我相信这是因为我的属性被重复,所以它只会验证1个属性。是否可以在模型中使用a?
任何建议都会有所帮助。
由于
答案 0 :(得分:1)
您需要的是表格输入收集:http://www.yiiframework.com/doc/guide/1.1/en/form.table 但是,这将在服务器端帮助您,除非您为表格输入创建自定义验证,否则客户端验证将无法工作。