【问题标题】:isValid in zend framework form returns FALSEisValid 在 zend 框架形式中返回 FALSE
【发布时间】:2012-04-13 18:47:49
【问题描述】:

我有 zend 框架控制器。 在 init 方法中,我创建了一个表单并用

填充下拉框
$form = new FORM_NAME();
$form->getElement('ZdGroup')->addMultiOptions($zendesk_groups);

然后我在行动中检查

$formData = $this->getRequest()->getParams();
    if ($form->isValid($formData)) {
        ...
}

isValid() 返回FALSE 如果我删除这一行 $form->getElement('ZdGroup')->addMultiOptions($zendesk_groups); 它返回TRUE

我不明白为什么,有人有想法吗?

【问题讨论】:

  • 我们需要您的 FORM_NAME() 类来了解您的表单在做什么。
  • 也许该元素在 FORM_NAME 中设置为必需。 $element->setRequired (true)?

标签: zend-framework zend-form


【解决方案1】:

要回答“为什么”的问题,您是否已转储表单错误消息?

$form->getMessages(); //error messages
$form->getErrors(); //error codes
$form->getErrorMessages(); //any custom error messages

这至少可以让您更好地了解“为什么”。

【讨论】:

  • 有时使用文件输入而不在表单上设置enctype,会导致这个问题。
  • 嗯..你确定吗? messages 是空的,errors/errorMessage 甚至不作为函数存在。
  • @Blauhirn 这个问题有 4 年历史了,很确定这个答案是针对 ZF1 的。
  • 如果我想在 ZF3 中实现这个,那么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-13
  • 1970-01-01
相关资源
最近更新 更多