从Symfony2 manual开始,以下是表单验证的方式:
use Symfony\Component\HttpFoundation\Request;
public function createAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$form = $this->createForm(new RegistrationType(), new Registration());
$form->handleRequest($request);
if ($form->isValid()) {
$registration = $form->getData();
$em->persist($registration->getUser());
$em->flush();
return $this->redirect(...);
}
return $this->render(
'AcmeAccountBundle:Account:register.html.twig',
array('form' => $form->createView())
);
}
底线是我们有一个实体Registration
和一个相应的表单RegistrationType
。当我们要验证$request
中的数据时,我们会使用$form->handleRequest($request);
我想使用相同的方法,但是当我的实体从未通过表单发布的文件加载时。
例如,我有一个CSV文件,其中包含我想为其创建帐户的100个用户的列表,但是数据需要以与验证表单相同的方式进行验证,并且可以使用一组错误从表单类中提取。
有没有办法以类似的方式使用Symfony2自动执行此操作?
答案 0 :(得分:0)
您好,在最近的一个项目中我们做到了。但是我们读取整个文件CSV并创建了一些保存值的数组。然后我们使用文件中的所有值创建对象,并使用Symfony Validator验证每个对象。如果你想自动完成它是不可能的,你必须自己做。