我正在尝试为我的表单实现x-editable。为此,需要找到一种基于单一属性更新实体的方法。这让我最头疼的是如何验证单个数据的方式。据我了解,setValidationGroup()
这似乎不起作用(或者我这样做完全错误)。这是我尝试过的:
if ($request->isPost()) {
$form->setData($request->getPost());
if($request->isXmlHttpRequest()) {
$filters = $form->getInputFilter();
$filters->setValidationGroup(
$this->params()->fromPost('name')
);
$form->setInputFilter($filters);
}
if ($form->isValid()) {
$objectManager->flush();
if ($request->isXmlHttpRequest()) {
$response = $this->getResponse();
$response->setStatusCode(Response::STATUS_CODE_200);
return $response;
}
} else {
$errors = $form->getMessages();
\Zend\Debug\Debug::dump($errors);
die("notvalid");
}
}
检查isXmlHttpReqiest
的目的是为了#1将验证组缩小到一个元素,而#2以发送与 jQuery 的 x-editable 插件一起使用的特定响应。
当前错误:所有 FormFields 都已验证。isEmpty
对于调用 -Validator的两个必填字段,我收到一条错误消息。