使用CakePHP ajax视图验证ajax请求时,返回的所有字段始终无效,而不是正确的字段
我不知道为什么我总是收到所有的错误,而不仅仅是无效的字段,即使我正确地填写了一些必填字段 提交资料控制员:使用CakePHP ajax视图验证ajax请求时,返回的所有字段始终无效,而不是正确的字段,php,ajax,cakephp,cakephp-2.0,Php,Ajax,Cakephp,Cakephp 2.0,我不知道为什么我总是收到所有的错误,而不仅仅是无效的字段,即使我正确地填写了一些必填字段 提交资料控制员: public function submit() { $this->set('title_for_layout', 'Submit - '); if ($this->request->is('ajax')) { if (!empty($this->request->data)) { $this->
public function submit() {
$this->set('title_for_layout', 'Submit - ');
if ($this->request->is('ajax')) {
if (!empty($this->request->data)) {
$this->Submission->set($this->request->data);
if ($this->Submission->invalidFields($this->request->data)) {
$formErrors = $this->Submission->validationErrors;
} else {
$formErrors = null;
}
} else {
$formErrors = null;
}
$this->set(compact('formErrors'));
}
/Submissions/json/submit.ctp:
<?php
$toReturn = array(
'formErrors' => $formErrors
);
echo json_encode($toReturn);
正在序列化和发送的表单值:
json响应中出现的错误:
把头发从这里拔出来:|你似乎把validates()和invalidFields()弄得有点乱 invalidFields()在验证()后返回无效字段,请参阅: 因此,您的代码应该如下所示:
$this->Submission->set($this->request->data);
if (!$this->Submission->validates()) {
$formErrors = $this->Submission->invalidFields();
} else {
$formErrors = null;
}
您似乎对validates()和invalidFields()有点糊涂 invalidFields()在验证()后返回无效字段,请参阅: 因此,您的代码应该如下所示:
$this->Submission->set($this->request->data);
if (!$this->Submission->validates()) {
$formErrors = $this->Submission->invalidFields();
} else {
$formErrors = null;
}
首先,将数据设置为模型:
$this->ModelName->set($this->request->data);
然后,要检查数据是否有效,请使用模型的validates方法,如果数据有效,则返回true;如果数据无效,则返回false:
if ($this->ModelName->validates()) {
// it validated logic
} else {
// didn't validate logic
$errors = $this->ModelName->validationErrors;
}
首先,将数据设置为模型:
$this->ModelName->set($this->request->data);
然后,要检查数据是否有效,请使用模型的validates方法,如果数据有效,则返回true;如果数据无效,则返回false:
if ($this->ModelName->validates()) {
// it validated logic
} else {
// didn't validate logic
$errors = $this->ModelName->validationErrors;
}
如果没有ajax,你能试着这样做吗?如果没有ajax,你能试着这样做吗?如果没有ajax,会是同样的错误吗?出于某种原因,现在每个字段都会给我两个错误,但仍然给我同样的问题:\n出于某种原因,现在每个字段都会给我两个错误,并且仍然给我同样的问题:\