gpt4 book ai didi

validation - 发布前表单验证

转载 作者:行者123 更新时间:2023-12-04 08:50:37 24 4
gpt4 key购买 nike

我想在提交表单之前已经显示了表单的错误。
我有数据库数据不完整的表单,所以我想在他们尝试保存之前显示已经丢失的内容。

但是 $form->isValid() 仅在表单也提交时执行(仅在发布时发生)。

我尝试了验证器,但这给了我一个错误列表,但没有将它们添加到表单中,如果我自己这样做,这似乎是一个糟糕的解决方法,但是我无法从源中找出如何实现这一点。

$form = $this->get('form.factory')->create(SchoolFormType::class, $school, $formOptions);
$form->handleRequest($request);
if ($form->isValid()) {
// ...
}

最佳答案

您可以使用以下命令模拟提交:

$form->handleRequest($request);

$wasSubmitted = $form->isSubmitted();

if(!$wasSubmitted){
$form->submit($form->getData(),false);
}

if ($form->isValid()) {
// ...

// next lines are to be sure that the form will always need to be submitted manualy :
if($wasSubmitted){
$em->persist($entity);
$em->flush();

return $this->render ...
}
}

return $this->render ...

source code中的submit方法.

关于validation - 发布前表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38571659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com