Symfony 4 CollectionType Constraints-字符串数组



我有一个非常简单的字符串数组,存储在数据库中,并通过API提供。

使用Symfony的表单类型,我添加了对各种数据位的验证。

我遇到了一个CollectionType,它本质上是一个字符串数组,例如:

['key', 'words', 'are', 'the', 'best']

带有表单代码:

->add('keywords', CollectionType::class, [
'allow_add' => true,
'constraints' => [
new Count(['min' => 1]),
new NotBlank(['allowNull' => false])
]
])

这允许以下内容通过限制:

[null]['']

如果我能弄清楚我做错了什么,我想把Regex验证也添加到每个元素中。

如果你只想删除空元素,delete_empty应该做到这一点,你可以删除NotBlank

要对元素应用额外的验证,必须使用entry_options:将约束传递给集合,而不是集合本身

->add('keywords', CollectionType::class, [
'allow_add' => true,
'delete_empty' => true,
'constraints' => [
new Count(['min' => 1]),
],
'entry_options' => [
'constraints' => [
new Regex(['pattern' => '/whateverpattern/']),
],
],    
])

相关内容

  • 没有找到相关文章

最新更新