例如,我有实体Cat,其属性为$ name(string)。
我使用参数[name = 123]
发送给url POST / cats如何在没有表单的情况下验证来自请求的数据?或REST API与表单验证它是正常的?我无法找到没有表格的验证信息。我可以使用没有表单的验证组件,但也许存在一些可以给我更好的方法而不是$ this-> get('验证器') - >验证('来自请求的数据&#39) ;)
感谢。
答案 0 :(得分:0)
我建议仍然使用表单来处理验证,并且您可以手动模拟提交:http://symfony.com/doc/current/form/direct_submit.html#calling-form-submit-manually
一个非常简单的例子可能就像下面这样。
$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
}