【发布时间】:2015-10-04 18:15:08
【问题描述】:
我有两个动作,newAction 和 createAction。两者都获得相同的参数,它们是普通值,而不是对象。
它们的实现类似于:
/**
* Renders a form with the createAction as action="".
*
* @param string $value1
* @param boolean $value2
*
* @ignorevalidation $value1
* @ignorevalidation $value2
*/
public function newAction($value1 = NULL, $value2 = NULL) {
$this->view->assignMultiple([
'value1' => $value1,
'value2' => $value2,
]);
}
/**
* @param string $value1
* @param boolean $value2
*
* @validate $value1 NotEmpty
* @validate $value1 EmailAddress
* @validate $value1 \Vendor\Extkey\Validator\MyValidator
*
* @validate $value2 Boolean(is=TRUE)
*/
public function createAction($value1, $value2) {
// Do some stuff
}
如果newAction不带参数执行,一切正常,表单显示不预填字段。
如果表单使用有效值提交,createAction 将使用正确的值调用,并且一切都按预期工作。
如果表单使用无效值提交,验证将按预期失败。然后请求再次转发到 newAction,这是应该的 - 但是 newAction 的参数都是NULL,而不是之前输入到表单中的无效值。
我已确定参数确实已提交 (var_dump($_POST)),并且 TYPO3 已收到它们(通过将它们打印在 errorAction 中)。
为什么会这样,是我做错了吗?还是那个地方的extbase坏了?
TYPO3-版本:6.2.15
【问题讨论】:
标签: typo3 extbase typo3-6.2.x