我正在尝试为我的表单实施x-editable。为此,需要找到一种方法来更新单一财产基础上的实体。这给我的最大麻烦是如何验证单个数据的方式。据我的理解,setValidationGroup()
似乎没有工作(或者我这样做是完全错误的)。下面是我的尝试:单个字段的AJAX表单更新
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发出与x轴工作,具体的反应jQuery的可编辑插件。
当前错误:所有的FormFields都经过验证。我收到一个错误消息,其中有两个必填字段,它们的isEmpty
-Validator被调用。
其实事实并非如此。你有两种定义组的方法,一种是数组,另一种是数字或字符串参数'setValidationGroupd('eOne','eTwo','eN')' – Sam
是的,我的主旨是更多地使用形式方法,而不是到输入过滤器之一,而不是实际的参数格式,但我从答案中看到它没有任何区别。 – Crisp
啊,是的,你是真的,没有真正注意到这一点。最后一个例子也使用了你刚才提到的形式! – Sam