我正在使用此代码创建symfony2表单:
$builder
->add('layout_type', 'choice', array(
'choices' => array(0 => 'Small layout', 1 => 'Big layout'),
'expanded' => true,
'disabled' => $disabled
))
.... ))
我遇到的问题是单选按钮验证(layout_type,choice)。
当我没有选择任何单选按钮并提交表单时,数据不会插入数据库中。 这是正确的,因为单选按钮是必填字段,但是当重新加载表单时,我没有关于单选按钮的错误消息。我正确地收到了所有其他字段的错误。
我正在使用的Twig:
<table width="1000">
<tr>
<td class="label">{{ form_label(form.layout_type, 'LAYOUT_TYPE') }}</td>
<td class="widget">{{ form_widget(form.layout_type) }} {{ form_errors(form.layout_type) }}</td>
</tr>
...
对于验证,我使用的是注释:
/**
* @var Integer
* @Assert\NotBlank(message="NOT_EMPTY")
*/
protected $layoutType;
我的问题只有$ layoutType单选按钮的错误消息 有人知道什么是问题。 THX
答案 0 :(得分:0)
try this:
'choices' => array(0 => 'Small layout', 1 => 'Big layout'),
'expanded' => true,
'disabled' => $disabled,
'constraints' => new Assert\NotBlank(array('message' => 'YOUR_MESSAGE'))
答案 1 :(得分:0)
你添加了
use Symfony\Component\Validator\Constraints as Assert;
在您的实际实体之前
class entity {
/**
* @Assert\NotBlank()
*/
public $layoutType;
........
}