gpt4 book ai didi

validation - TYPO3/Extbase - 如何在验证/保存对象之前修剪值?

转载 作者:行者123 更新时间:2023-12-01 23:11:46 37 4
gpt4 key购买 nike

在 Extbase 中,我通常在 Controller 中自己处理表单验证,特别是当我需要高级场景时,但现在我有简单但包含许多字段的大型表单,所以我决定不浪费时间,只使用 TYPO3 的验证器。到目前为止,总的来说它是有效的,无论如何我不能强制 Extbase 在验证之前修剪值,结果 Extbase 节省了大量空间......所以它是无效的,示例:

/**
* @var string
* @validate StringLength(minimum=2, maximum=255)
* @validate NotEmpty
*/
protected $fooName = '';

正如我所说,我有数十个字段,并且希望避免手动验证它......有什么解决方案吗?

注意:我尝试过extbase_filter ext,如果它有效的话,这将是一个很好的解决方案(不幸的是在 TYPO3 版本:6.2.6 上没有任何效果。

出于显而易见的原因,在表单发送之前使用 JS 来修剪值也不是一个解决方案。

最佳答案

您可以在 set* 方法中进行修剪。 Extabase 的 MVC 流程中的验证发生在调用set-ers之后

所以,你的例子是:

/**
* @var string
* @validate StringLength(minimum=2, maximum=255)
* @validate NotEmpty
*/
protected $fooName = '';

public function setFooName($fooName)
{
$this->fooName = trim($fooName);
}

关于validation - TYPO3/Extbase - 如何在验证/保存对象之前修剪值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33657431/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com