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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (39)

我想使用Symfony表单只是为了验证目的。所以我用数据填充实体:

    $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);
}

但是这个抛出异常:

“无法使用AppBundle\Entity\ReductionCalculator类型的对象作为数组”

如何在不将对象更改为数组的情况下进行正确处理。也许其他形式的方法submit()?

提问于
用户回答回答于

如果只需要它来验证,为什么不直接跳过表单并直接使用验证组件呢?

扫码关注云+社区

领取腾讯云代金券