Php Symfony 2/3 REST API验证,无需表单

Php Symfony 2/3 REST API验证,无需表单,php,symfony,Php,Symfony,例如,我有一个属性为$name(string)的实体Cat 我使用参数[name=123]发送到url POST/cats 如何在没有表单的情况下验证来自请求的数据?或者REST API与表单验证是否正常?没有表单,我找不到有关验证的信息。我可以使用没有表单的验证组件,但可能存在一些包,它们可以为我提供比$this->get('validator')->validate('data from request')更好的方法 谢谢。我建议仍然使用表单来处理验证,您可以手动模拟提交: 一个非常简单的例

例如,我有一个属性为$name(string)的实体Cat

我使用参数[name=123]发送到url POST/cats

如何在没有表单的情况下验证来自请求的数据?或者REST API与表单验证是否正常?没有表单,我找不到有关验证的信息。我可以使用没有表单的验证组件,但可能存在一些包,它们可以为我提供比$this->get('validator')->validate('data from request')更好的方法


谢谢。

我建议仍然使用表单来处理验证,您可以手动模拟提交:

一个非常简单的例子如下

$formFactory = new Symfony\Component\Form\FormFactory();

//build your "post" data from your submitted content via api
$data = json_decode($request->getContent(), TRUE);

//build your Form and Entity objects.
$formType = new Path\To\CatForm(); //for example
$entity = new Path\To\CatEntity();

$parameters = array();
$method = 'POST';

$form = $formFactory->create($formType, $entity, ['method' => $method]);
$form->submit($parameters, ($method == 'PATCH' ? false : true));

if ($form->isValid()) {
    //do stuff
}

我建议仍然使用表单来处理验证,您可以手动模拟提交:

一个非常简单的例子如下

$formFactory = new Symfony\Component\Form\FormFactory();

//build your "post" data from your submitted content via api
$data = json_decode($request->getContent(), TRUE);

//build your Form and Entity objects.
$formType = new Path\To\CatForm(); //for example
$entity = new Path\To\CatEntity();

$parameters = array();
$method = 'POST';

$form = $formFactory->create($formType, $entity, ['method' => $method]);
$form->submit($parameters, ($method == 'PATCH' ? false : true));

if ($form->isValid()) {
    //do stuff
}
这里有一个类似的问题这里有一个类似的问题