Symfony4 - 根据其他字段的值验证字段
Symfony4 - Validate fields based on values of other fields
我正在构建一个包含多个步骤和一些条件字段的非常大的表单,但找不到适合我的问题的解决方案。
例如,如果字段 A 是 "Foo",则字段 B 通过 Javascript 显示并且必须通过 Symfony 验证,否则该字段必须为空。有没有办法做到这一点?
PS:
https://github.com/craue/CraueFormFlowBundle 是处理复杂的多步骤表单的好方法吗?我应该使用组和实体还是在没有 class 的情况下构建它?最佳做法是什么?
谢谢!
我的解决方案:
我认为你应该使用 Symfony Form Events。在事件中,您可以执行此类自定义操作,例如添加错误、检查所有形式的值、动态删除和添加 validators/fields。
您可以阅读有关表单事件流程的更多信息here
这里 Add error to Symfony 2 form element 你有问题如何从事件监听器向字段添加错误(在 symfony 4 中它是类似地完成的)
我对craue/CraueFormFlowBundle的看法:
我在我的项目中使用 CraueFormFlowBundle
来创建复杂的多步骤表单。 Bundle 很有用,可以节省很多时间。我基于 CraueFormFlowBundle
+ Doctrine entities
结合 validation groups
+ symfony form events
创建了很多表单 - 我可以推荐
强大而灵活的解决方案
我正在构建一个包含多个步骤和一些条件字段的非常大的表单,但找不到适合我的问题的解决方案。
例如,如果字段 A 是 "Foo",则字段 B 通过 Javascript 显示并且必须通过 Symfony 验证,否则该字段必须为空。有没有办法做到这一点?
PS: https://github.com/craue/CraueFormFlowBundle 是处理复杂的多步骤表单的好方法吗?我应该使用组和实体还是在没有 class 的情况下构建它?最佳做法是什么?
谢谢!
我的解决方案:
我认为你应该使用 Symfony Form Events。在事件中,您可以执行此类自定义操作,例如添加错误、检查所有形式的值、动态删除和添加 validators/fields。
您可以阅读有关表单事件流程的更多信息here
这里 Add error to Symfony 2 form element 你有问题如何从事件监听器向字段添加错误(在 symfony 4 中它是类似地完成的)
我对craue/CraueFormFlowBundle的看法:
我在我的项目中使用 CraueFormFlowBundle
来创建复杂的多步骤表单。 Bundle 很有用,可以节省很多时间。我基于 CraueFormFlowBundle
+ Doctrine entities
结合 validation groups
+ symfony form events
创建了很多表单 - 我可以推荐