我有60个不同的问题,您需要以1到10的等级回答(使用单选按钮)。
每个答案都给出以下代码:
<?php
echo $this->Form->create();
$options = array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10' );
$attributes = array('legend' => false);
?>
<div class="answers">
<?php
echo $this->Form->radio('answer1', $options, $attributes);
?>
</div>
对于answer2,answer3,...同样的事情......
现在我要验证是否实际点击了一个radiobutton而不是空的。 我有这个:
public $validate = array(
'answer1' =>array(
'rule' => 'notEmpty',
'message' => 'Please choose an answer'
)
);
有没有办法一次验证所有60个表单?或者我必须在$validate
?
答案 0 :(得分:0)
将字段的名称放在数组中并循环遍历它(在模型的构造函数中)
$fields = array('answer1', 'answer2', 'answer3'); //all fields you need to validate
foreach($fields as $field) {
$validate[$field] = array(
'rule' => 'notEmpty',
'message' => 'Please choose an answer'
);
}
顺便说一句,要检查按钮的值是否有效(在您的情况下是1到10之间的数字),您可以使用inList
public $validate = array(
'function' => array(
'allowedChoice' => array(
'rule' => array('inList', array('1', '2', '3', '4')) //And so on
)
)
);