0

我建立的表格有一个例外。为了“节省成本”,模型的现有属性将用于这个“新领域”。

我的目标:

  • 更改现有属性的标签
  • 更改现有属性的验证
  • 更改现有属性的错误消息

我想出了如何添加验证和更改标签,但我似乎无法找到在哪里设置现有字段的错误消息。

// MyFormType.php
<?php
if (!empty($options['unique']) && $options['unique'] == 'some_variable') {
    $event->getForm()->add($factory->createNamed('existing_field', 'number', null, array(
        'label'      => 'Number field',
        'required'   => true,
        'max_length' => 6,
        'constraints' => array(
            new MinLength(6),
            new MaxLength(6),
        ),
    )));
} else {
    $event->getForm()->add($factory->createNamed('existing_field', 'text', null, array(
        'label' => 'Text field',
    )));
}

是否有允许我设置验证错误消息的字段选项键?

4

1 回答 1

0

MinLengthMaxLength已合并到Length2.3 中,我没有启动和运行 2.1 或 2.2 的副本,但我检查了旧的 2.1 和 2.2 API,这应该适合你。

// MyFormType.php
<?php
if (!empty($options['unique']) && $options['unique'] == 'some_variable') {
    $event->getForm()->add($factory->createNamed('existing_field', 'number', null, array(
        'label'       => 'Number field',
        'required'    => true,
        'max_length'  => 6,
        'constraints' => array(
            new MinLength(array(
                'limit'   => 6,
                'message' => 'This field must be atleast 6 characters long'
            )),
            new MaxLength(array(
                    'limit'   => 6,
                    'message' => 'This field must be shorter than 6 characters'
                )),
        ),
    )));
} else {
    $event->getForm()->add($factory->createNamed('existing_field', 'text', null, array(
        'label' => 'Text field',
    )));
}
于 2013-09-24T22:06:14.523 回答