如何人工验证zend表单(不提交)

时间:2011-03-08 10:29:09

标签: php zend-framework zend-form

我正在尝试用数据填充表单并进行人工验证,即没有用户实际提交表单。所以我正在创建表单并尝试使用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
}

1 个答案:

答案 0 :(得分:2)

而不是isValid,您使用

示例:

if ($form->valid()) {
    echo 'It is valid';
}

如果要使用isValid,请使用关联数组设置和验证表单数据,例如

if ($form->isValid(array(
    'field1' => 'foo',
    'field2' => 'bar',
    …
))) {
    echo 'It is valid';
}