繁体   English   中英

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

[英]TYPO3/Extbase - How to trim values before validation/saving objects?

在Extbase中,我通常会在控制器中自己处理表单验证,特别是当我需要高级场景时,但现在我很简单,但是有很多字段的大表单,所以我决定不浪费时间而只使用TYPO3的验证器。 到目前为止它一般都很好用,无论如何我不能强制Extbase在验证之前调整值,结果Extbase节省了很多空间......所以它无效,示例:

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

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

注意:我尝试了extbase_filter ext,如果有效的话,这将是很好的解决方案(遗憾的是在TYPO3版本中没有任何效果:6.2.6。

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

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

所以,你的例子是:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM