如何提交带有填充实体对象而不是请求对象的表单?

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