Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何人工验证zend表单(不提交)_Php_Zend Framework_Zend Form - Fatal编程技术网

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

Php 如何人工验证zend表单(不提交),php,zend-framework,zend-form,Php,Zend Framework,Zend Form,我试图用数据填充表单并对其进行人工验证,即用户没有实际提交表单。因此,我正在创建表单并尝试使用setValue填充其数据。然后我使用$form->isValid(),但它要求表单数据。因为我没有实际的帖子提交,所以不知道如何获取这些数据。它已经存储在表单中,为什么isValid()不能从表单本身获取数据呢。有人知道我如何在不进行实际提交的情况下验证此表单吗 $form = new MyForm(); $form->field1->setValue('some value'); $fo

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

您使用

例如:

if ($form->valid()) {
    echo 'It is valid';
}
如果要使用
isValid
,请使用关联数组设置并验证表单数据,例如

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