如何提交带有填充实体对象而不是请求对象的表单?
How to submit form with filled Entity object instead of Request object?
我想使用 Symfony Form 只是为了验证目的。所以我用数据填充实体:
$reductionCalculator = new ReductionCalculator();
$reductionCalculator->setClaim($claim);
$reductionCalculator->setDecreasedCapital($decreasedCapital);
$reductionCalculator->setCredit($credit);
然后创建表单:
$form = $this->createForm(ReductionCalculatorType::class);
我正在尝试提交数据:
$form->submit($reductionCalculator);
//or
// $form->setData($reductionCalculator);
并验证:
if (!$form->isValid()) {
$this->throwApiProblemValidationException($form);
}
但是这抛出异常:
"Cannot use object of type AppBundle\Entity\ReductionCalculator as
array"
如何在不将对象更改为数组的情况下正确执行此操作。也许除了 submit()
?
以外的其他 Form 方法
如果你只需要它来验证为什么不跳过表单直接使用验证组件呢?
https://symfony.com/doc/current/validation.html
我想使用 Symfony Form 只是为了验证目的。所以我用数据填充实体:
$reductionCalculator = new ReductionCalculator();
$reductionCalculator->setClaim($claim);
$reductionCalculator->setDecreasedCapital($decreasedCapital);
$reductionCalculator->setCredit($credit);
然后创建表单:
$form = $this->createForm(ReductionCalculatorType::class);
我正在尝试提交数据:
$form->submit($reductionCalculator);
//or
// $form->setData($reductionCalculator);
并验证:
if (!$form->isValid()) {
$this->throwApiProblemValidationException($form);
}
但是这抛出异常:
"Cannot use object of type AppBundle\Entity\ReductionCalculator as array"
如何在不将对象更改为数组的情况下正确执行此操作。也许除了 submit()
?
如果你只需要它来验证为什么不跳过表单直接使用验证组件呢? https://symfony.com/doc/current/validation.html