gpt4 book ai didi

php - 选项 "constraints"不存在

转载 作者:可可西里 更新时间:2023-11-01 12:39:17 26 4
gpt4 key购买 nike

我正在使用 Symfony 2.6。我试图创建一个没有实体的表单,但出现以下错误:

The option "constraints" does not exist. Known options are: "action", "attr", "auto_initialize", "block_name", "by_reference", "compound", "csrf_field_name", "csrf_message", "csrf_protection", "csrf_provider", "csrf_token_id", "csrf_token_manager", "data", "data_class", "disabled", "empty_data", "error_bubbling", "inherit_data", "intention", "label", "label_attr", "label_format", "mapped", "max_length", "method", "pattern", "post_max_size_message", "property_path", "read_only", "required", "translation_domain", "trim", "virtual".

    class MessageType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('sender', 'text', [
'constraints' => [
new Constraints\NotBlank(),
],
])
->add('recipient', 'email')
->add('message', 'textarea');
}

public function getName()
{
return 'message';
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$collectionConstraint = new Constraints\Collection(array(
'fields' => [
'sender' => [
new Constraints\NotBlank(),
new Constraints\Email(),
],
'recipient' => [
new Constraints\NotBlank(),
new Constraints\Email(),
],
'message' => [
new Constraints\NotBlank(),
],
],

));

$resolver->setDefaults([
'validation_constraints' => $collectionConstraint,
]);
}
}

仅使用 setDefaultOptions 显示没有错误,但它不起作用,不验证字段。

可见,反正试过了。我也尝试了使用组件表单发件箱的文档,但得到了同样的错误。

http://symfony.com/doc/current/components/form/introduction.html#form-validation

编辑

我也试过这种方式,同样报错。

    $form = $formFactory->createBuilder()
->add('task', 'text', array(
'constraints' => new NotBlank(),
))
->add('dueDate', 'date', array(
'constraints' => array(
new NotBlank(),
new Type('\DateTime'),
)
))
->getForm();

最佳答案

好老的问题了,刚发现,所以还是时不时出现这个问题。

我确实喜欢文档: https://symfony.com/doc/current/components/form.html

$validator = Validation::createValidator();

$formFactory = Forms::createFormFactoryBuilder()
...
->addExtension(new ValidatorExtension($validator))
...
->getFormFactory();

当然不要忘记使用:

use Symfony\Component\Form\Extension\Validator\ValidatorExtension;

关于php - 选项 "constraints"不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29825701/

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