我正在尝试用数据填充表单并进行人工验证,即没有用户实际提交表单。所以我正在创建表单并尝试使用setValue
填充其数据。我正在使用$form->isValid()
,但它要求表单数据。由于我没有实际的帖子提交,不知道如何获取这些数据。它已经存储在表单中,为什么isValid()不能从表单本身获取数据。有没有人知道如何在不进行实际提交的情况下验证此表单?
$form = new MyForm();
$form->field1->setValue('some value');
$form->field2->setValue('field2 value');
$form->field3->setValue('last field');
if($form->isValid()){
//do something
} else {
//do something else
}
答案 0 :(得分:2)
而不是isValid
,您使用
示例:
if ($form->valid()) {
echo 'It is valid';
}
如果要使用isValid
,请使用关联数组设置和验证表单数据,例如
if ($form->isValid(array(
'field1' => 'foo',
'field2' => 'bar',
…
))) {
echo 'It is valid';
}