我有一个带有简单字段的实体。不幸的是,我不能说Symfony方面的验证约束是什么。我必须在API路线上发布这些信息。如果它没有返回错误消息,我可以验证实体,如果没有,我必须向用户显示错误消息。
如果我想把它弄脏,这很容易,但我想使用Validator。
当我执行$form->isValid
时,我希望完成这个API调用,并将错误消息直接添加到表单中
现在我有一些类似的东西
if ($form->isSubmitted() && $form->isValid()) {
if ($entityModelManager->validate($form)) {
//the entity is valid here
}
}
但正如我所说,我认为这是肮脏的,我希望有一个更好的代码。
1(设置实体约束:https://symfony.com/doc/current/validation.html#the-验证基础
2( 使用ValidatorInterfacehttps://symfony.com/doc/current/validation.html#using-验证器服务
例如:
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
}
BTW:我不明白api和符号形式之间的关系。