为了账号安全,请及时绑定邮箱和手机立即绑定

Symfony 4 CollectionType 约束 - 字符串数组

Symfony 4 CollectionType 约束 - 字符串数组

PHP
白衣非少年 2022-12-23 16:40:11
我有一个非常简单的字符串数组,存储在数据库中并通过 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 验证。
查看完整描述

1 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

如果您只想删除空元素,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/']),

    ],

  ],    

])


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号