-2

我有一个带有简单字段的实体。不幸的是,我不能说 Symfony 方面的验证约束是什么。我必须在 API 路由上发布这些信息。如果它没有返回错误消息,我可以验证实体,如果没有,我必须向用户显示错误消息。

如果我想弄脏它,这很容易,但我想使用验证器。

当我执行此操作时$form->isValid,我希望完成此 API 调用并将错误消息直接添加到表单中。

目前我有类似的东西

if ($form->isSubmitted() && $form->isValid()) {
    if ($entityModelManager->validate($form)) {
        //the entity is valid here
    }
}

但正如我所说,我认为这很脏,我希望有更好的代码。

4

1 回答 1

0

1)设置实体约束: https ://symfony.com/doc/current/validation.html#the-basics-of-validation

2)使用ValidatorInterface https://symfony.com/doc/current/validation.html#using-the-validator-service

前任:

public function create(ValidatorInterface $validator)
{
    $post = new Post();
    // ... 
    $errors = $validator->validate($post);
    if (count($errors) > 0) {
        foreach($errors as $error) {
            // ... write error to API errors output
        }
    }

    // .. save entity & return success
}

顺便说一句:我不明白 api 和 symfony 表单之间的关系。

于 2020-04-03T14:45:32.803 回答