【发布时间】:2016-01-03 04:12:28
【问题描述】:
我想验证一个包含下拉菜单和文本输入字段的表单。
用户可以从下拉菜单中选择一个项目。如果他想创建一个新项目,他可以使用下拉菜单旁边的文本输入字段。
这是我的上传类型:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->setAction('upload')
->setMethod('POST')
// project name dropdown menu
->add('projectname', 'choice' , array(
'label' => 'upload_project_label',
'choices' => $this->projects,
'attr' => array(
'class' => 'form-control some',
'required' => 'true'
)
))
// newprojectname text input
->add('newprojectname', 'text', array(
'label' => false,
'attr' => array(
'class' => 'form-control',
'required' => false,
'placeholder' => 'upload_newprojectname_placeholder'
)
)
)
...
这是来自我的上传实体的 sn-p:
/**
* @ORM\Column(type="text")
*
* @var string $projectname
* @Assert\NotBlank()
*/
protected $projectname;
/**
* @ORM\Column(type="text")
*
* @var string $newprojectname
* @Assert\Length(
* min = 3,
* max = 7,
* minMessage = "min message",
* maxMessage = "max message"
* )
*/
protected $newprojectname;
我的问题是是否有可能通过查询来检查字段 newproject 是否已设置(即输入了一个字符串)?如果是这样,让 Assert 注释完成它的工作。
【问题讨论】:
-
我不明白...你要检查该字段是否不为空,然后呢?
-
您可以创建一个
Callback断言。 -
@pabgaran - 我想检查是否在该字段中输入了某些内容,如果是,请使用 Assert 注释检查输入的值。够清楚吗?
标签: validation symfony annotations assert