0

我在typo3上有一个带有表格的流体模板,验证在我的扩展模型中,带有注释,例如

@validate StringLength(minimum=3, maximum=50)

如果表单产生了错误,则 extbase 在我的表单上显示错误。这是正确的。因为我表单上的输入在返回后是空的。如果我调试对象,这也是空的。

这是我在控制器中的功能:

public function standardAction() {
}

这是我standard.html模板中的表格:

action="standardcreate" name="newStandard" object="{newStandard}" 
  method="post" enctype="multipart/form-data">

{newStandard}也是空的?为什么?

我会回馈我表单的值。

4

1 回答 1

1

嘿,首先,您如何获取数据并验证您的模型?

处理这个问题的最好方法是使用两个动作,两个动作都有一个 $myModel 对象作为参数,第一个显示表单并在动作中有一个 @dontvalidate 注释,第二个是在验证成功时保存数据。您的表单应该将第二个操作作为目标。

因此,Extbase 在这种情况下所做的是:formdata 将进入第二个操作并尝试验证,验证失败,因为您提供了错误的数据,但 extbase 还发送了在内部显示表单的操作并将传递回该操作。因为第一个动作有 @donotvalidate 注释,它会接受带有“错误”值的模型,所以你可以将它传递回模板。

于 2011-05-14T09:30:23.610 回答