gpt4 book ai didi

php - 如何在 symfony 表单中对表单类型使用组序列?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:49:18 25 4
gpt4 key购买 nike

想法是首先验证所有必填字段是否为空。如果提供了所有必需的数据,则验证输入的值是否正确。组序列的通常情况。当我将 new GroupSequence(["Basic", "Strict"]) 应用于 validation_groups 选项时,即使所有字段都是空白的。如果 validation_groups 值设置为 ["Basic", "Strict"],则表单已正确验证但具有所有约束,这不是我想要的。我做错了什么?

这是我的代码:

class MyType extends AbstractType
{

public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add("name", null, [
"constraints" => new NotBlank(["groups" => ["Basic"]])
])
->add("phone", MyPhoneType::class, [
"constraints" => [
new NotBlank(["groups" => ["Basic"]]),
new PhoneNumber(["groups" => ["Strict"])
]
])
->add("email", EmailType::class, [
"constraints" => [
new NotBlank(["groups" => ["Basic"]]),
new Email(["groups" => ["Strict"]]),
],
])
;
}

public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
"validation_groups" => new GroupSequence(["Basic", "Strict"])
]);
}
}

最佳答案

What am I doing wrong?

这是一个已知的 bug Symfony 版本 2.8 的更新版本。

但我也没有看到任何文档表明您可以在配置 validation_groups 选项时使用 GroupSequence

我假设在使用 Symfony 2.8 时会出现 custom validator负责所有验证的是处理这种情况的最佳选择。

关于php - 如何在 symfony 表单中对表单类型使用组序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43325823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com