【问题标题】:Zend Framework 2 Form and InputFilter retuning different valuesZend Framework 2 Form 和 InputFilter 重新调整不同的值
【发布时间】:2013-12-25 10:55:13
【问题描述】:

我有一个名称为parameter 的元素(选择)。问题是在验证时它会返回如下错误:

The input was not found in the haystack

我知道这是由InArray Validator 返回的。但是,当输入有效时,怎么会发生这种情况。因此,我尝试检查表单元素和输入过滤器。所以,我做到了:

print_r($form->get('parameter')->getValue()); // returns frequency  
print_r($form->getInputFilter()->get('parameter')->getValue()); // returns 0

我就是不明白,为什么它们返回不同的值?

这里是完整的代码:

$postData = $request->getPost()->toArray();

$form->setData($postData);

print_r($form->get('parameter')->getValue());

if ($form->isValid()) {
    $alarm->exchangeArray($form->getData());
    $this->getAlarmMapper()->save($alarm);
    $changesSaved = true;
}
print_r($form->getInputFilter()->get('parameter')->getValue());

【问题讨论】:

    标签: php zend-framework zend-framework2 zend-form zend-inputfilter


    【解决方案1】:

    据我所知,如果验证失败,您的过滤器根本不返回值,这就是它返回 0 的原因。所以您可能应该查看验证内部,为什么它无法验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多