我动态生成表单并添加约束(即Choice
)。
my_request = requests.get('https://example.com/timeline.json')
当提交带有空数据的表单时,错误会显示表单,而不是我添加约束的表单元素(也在profiler中检查)。
这些约束没有选项$builder->add('test', 'choice', [
'choices' => [1, 'one', 2 => 'two'],
'required' => true,
'expanded' => true,
'error_bubbling' => true,
'cascade_validation' => true,
'label' => 'this_is_a_test',
'multiple' => false,
'constraints' => [
new NotBlank([
'groups' => ['Default']
]),
new Choice([
'min' => 1,
'choices' => [1, 2],
'groups' => ['Default']
])
]
]);
,我直接将它们添加到字段中,所以我不知道它们出现在表单中的原因。
答案 0 :(得分:3)
这就是error_bubbling选项的作用(您在表单类型中设置为type family IsLeft (x :: k -> k1) :: Bool where
IsLeft Left = True
IsLeft x = False
isLeft :: (a -> Either a b) -> Bool
isLeft Left = True
isLeft _ = False
-- Constructor ‘Left’ should have 1 argument, but has been given none
-- In the pattern: Left
-- In an equation for ‘isLeft’: isLeft Left = True
):
如果
true
,此字段的任何错误都将传递给父字段或表单。例如,如果在普通字段上设置为true
,则该字段的任何错误都将附加到主表单,而不是特定字段。