尝试自定义FOSUserbundle用户实体,我想断言带有约束的用户名和数组中的一些数据作为有效负载。
用注释做,我会这样做:
class User
{
/**
* @Assert\Length(..., payload={"my_array":{"Hello1","Hello2"}})
*/
protected $username;
}
但是要扩展FOSUserbundle约束,必须使用XML来完成:
<constraint name="Length">
...
<option name="payload"><!-- What I tried but it doesn't work -->
<value>
<option name="my_array">
<value>Hello1</value>
<value>Hello2</value>
</option>
</value>
</option>
</constraint>
我不能使用'option name =“...”'来定义哈希表?我怎么写呢? 没有在Symfony doc中找到。
以上尝试的错误: 元素'{http://symfony.com/schema/dic/constraint-mapping}选项':不期望此元素。预期是({http://symfony.com/schema/dic/constraint-mapping}约束
之一答案 0 :(得分:0)
我刚发现它,嵌套的'value'元素必须设置为:
<constraint name="Length">
...
<option name="payload"><!-- What I tried but it doesn't work -->
<value key="my_array">
<value>Hello1</value>
<value>Hello2</value>
</value>
</option>
</constraint>