【问题标题】:How to artificially validate a zend form (without submit)如何人为地验证 zend 表单(不提交)
【发布时间】:2011-03-08 10:29:09
【问题描述】:

我正在尝试用数据填充表单并人工验证它,即没有用户实际提交表单。所以我正在创建表单并尝试使用setValue 填充其数据。然后我使用$form->isValid(),但它要求表单数据。由于我没有实际的 Post 提交,因此不确定如何获取此数据。它已经存储在表单中,所以为什么 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
}

【问题讨论】:

    标签: php zend-framework zend-form


    【解决方案1】:

    你用isValid代替

    例子:

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

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-14
      • 2011-12-25
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2013-05-06
      相关资源
      最近更新 更多