如何将另一个字段值添加到 entry_options
How to add another field value to entry_options
我有 1 个应该获取类型字段值的子类型。
$builder->add('rows', TableCollectionType::class, array(
'entry_type' => HomeType::class,
'entry_options' => ['test' => $test]
))
->add('type', HiddenType::class, [
'constraints' => [
new NotBlank(),
new Choice(TypeClassifier::VALID_TYPES)
]
]);
尝试添加事件侦听器但未成功:
$form->get('rows')->add('edit_type', HiddenType::class, ['data' => $data['type']]);
是否可以将 type
值传递给子类型?
我想使用该参数进行验证。所以修复了向父类型添加回调的问题:
$builder->add('rows', TableCollectionType::class, array(
'entry_type' => HomeType::class,
'constraints' => [new Callback([$this, 'validateTest'])]
))
然后在 methode validateTest 中你可以得到类型:
public function validateCosts($rows, ExecutionContext $context){
$form = $context->getRoot();
$data = $form->getData();
$type = $data['type];
}
我有 1 个应该获取类型字段值的子类型。
$builder->add('rows', TableCollectionType::class, array(
'entry_type' => HomeType::class,
'entry_options' => ['test' => $test]
))
->add('type', HiddenType::class, [
'constraints' => [
new NotBlank(),
new Choice(TypeClassifier::VALID_TYPES)
]
]);
尝试添加事件侦听器但未成功:
$form->get('rows')->add('edit_type', HiddenType::class, ['data' => $data['type']]);
是否可以将 type
值传递给子类型?
我想使用该参数进行验证。所以修复了向父类型添加回调的问题:
$builder->add('rows', TableCollectionType::class, array(
'entry_type' => HomeType::class,
'constraints' => [new Callback([$this, 'validateTest'])]
))
然后在 methode validateTest 中你可以得到类型:
public function validateCosts($rows, ExecutionContext $context){
$form = $context->getRoot();
$data = $form->getData();
$type = $data['type];
}