我有一个名为"文件"和模型"用户"。模型"用户"是模型的一部分"文件"作为一个有m:n关系的孩子。
此外,我有一个表格,有人可以设置一个新的"文件"。 " user"的一些属性也是形式,但不是全部。想要跳过不在表单中的人的验证。我通过两种模型验证表格。
类似
$this->arguments->getArgument('document')->getPropertyMappingConfiguration()->skipProperties('title');
我可以从验证中禁用属性标题,效果很好。如果我替换" title"使用"用户","用户"将不会被验证。不错,但是完整的子对象"用户"被删除,所以我没有在前端为"用户"做出任何数据。了。糟糕!
所以,我不想禁用" user"完整但单一的属性。我试过
$this->arguments->getArgument('document')->getPropertyMappingConfiguration()->skipProperties('user.*.firstname');
禁用" firstname"的验证来自"用户"但它不起作用。我做错了什么?
感谢您的时间和帮助。
答案 0 :(得分:0)
尝试这样的事情:
$mappingConfiguration = $this->arguments->getArgument('document')->getPropertyMappingConfiguration();
$mappingConfiguration->forProperty('user')
->skipProperties('firstname', 'lastname', 'email', …);
你可以用这个建立一个完整的路径,所以如果你有多个用户,您可以使用
$mappingConfiguration->forProperty('users')
->forProperty(*)
->skipProperties('firstname', 'lastname', 'email', …);