public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, array(
'constraints' => array(
new Length(array(
"min" => 2,
"max" => 7,
)),
new NotBlank(),
),
));
}
验证此表单后,我只会从FormErrorIterator中检索第一个违规行为:
空白字段 - > NotBlank
有没有选项,所以我总是检索所有违规行为?
例如,如果该字段为空,则FormErrorIterator应检索NotBlank和MinLength违规!
答案 0 :(得分:0)
我刚看了LengthValidator
。
这似乎是Constraint Validator特有的。
如果值为空,LengthValidator
根本不会抛出任何违规行为。
如果值不为空,则首先检查maxLength。如果它是一个约束违规,它将被抛出,并且不再检查minLength。
这有点烦人。至少应该有一个选项,如果它们应该被检查,尽管它们是空的。