在Extbase中,通常我会在控制器内部处理表单验证,尤其是当我需要高级场景时。但现在我有一个简单但包含许多字段的大型表单,所以我决定不浪费时间,只是使用TYPO3的验证器。总体上来说,这样做是好的,但无论如何,我不能强制Extbase在验证之前修剪值,结果是Extbase保存了很多空格...所以它是无效的,示例:
/**
* @var string
* @validate StringLength(minimum=2, maximum=255)
* @validate NotEmpty
*/
protected $fooName = '';
如我所说,我有数十个字段,希望避免手动验证... 有什么解决方案吗?
注:我尝试了extbase_filter
扩展,如果它起作用的话将是一个很好的解决方案(不幸的是,在TYPO3 ver.6.2.6上没有任何效果)。
此外,出于明显的原因,在表单发送之前使用JS来修剪值也不是一个解决方案。
trim()
添加到 getter 中)。 - biesior$this->request->getReferringRequest()->getArgument('your_argument_name')
进行尝试,如果存在验证错误,则不应为空。据我所知,从那里获取的值用作表单字段的值,以恢复用户输入。 - Viktor Livakivskyi