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