私は自分のウェブサイトの連絡先ページに Cakephp ajax 検証を使用していますが、まったく機能していないようです. js
$(document).ready(function(){
$('#name').blur(function(){
$.post('/blacknovaPHSVN/BlockContents/validate_form',
{ field:$('#name').attr('id'),value:$('#name').val()},
handleNameValidation
);
});
function handleNameValidation(error){
if(error.length >0){
if($('#name-notEmpty').length==0){
$('#name').after('<div id="name-notEmpty" class="error-message">' + error + "</div>");
}
}
else{
$('#name-notEmpty').remove();
}
}
});
以下は、私の BlockContents コントローラのコードです
public function validate_form(){
if ($this->RequestHandler->isAjax()){
$this->request->data['Contact'][$this->request['data']['field']] = $this->request['data']['value'];
$this->Contact->set($this->request->data);
if($this->Contact->validates()){
$this->autoRender=False;
}
else {
$error= $this->validateErrors($this->Contact());
$this->set('error',$this->Contact->validationErrors[$this->request['data']['field']][0]);
pr($this->request);
// pr($error[$field]);
}
}
}
また、エラーをエコーするために validate_form.ctp を作成しました。何が間違っているのかわかりません