2
htmlポップアップでフォーム検証ライブラリを使用し、クライアントの要求時にクライアントにエラーを表示したい場合は、検証エラー== trueデータベースの真の更新行、検証エラーの場合= Falseクライアントにフィールドエラーを表示するajaxとcodeigniterを使用したフォーム検証
私のhtmlポップアップコード:
<div class="row">
<div class="form-group col-lg-6">
<label class="col-sm-4 control-label">tarh</label>
<div class="col-sm-8 control-label">
<input type="text" name="modal_tarh" id="modal_tarh" class="form-control">
</div>
</div>
<div class="form-group col-lg-6">
<label class="col-sm-3 control-label">agreement number</label>
<div class="col-sm-6 control-label">
<input type="text" name="modal_agreement_number" id="modal_agreement_number" class="form-control">
</div>
</div>
</div>
<button type="button" class="btn btn-info" id="edit_agreement">edit</button>
Ajaxコード:
$(document).ready(function() {
$("#edit_agreement").click(function() {
var String_Url = "address";
var String_Method = "POST";
data_send = {
'f1':$("#modal_tarh").val(),
'f2':$("#modal_agreement_number").val()
};
$.ajax({
url:String_Url,
type:String_Method,
data:data_send,
contentType: 'application/json',
success:function(callbackData, status, xhr){
alert(callbackData)
console.log(callbackData)
},
error:function(xhr, status, err){
alert(xhr.status);
}
});
});
});
CodeIgniterのコントローラ
AJAXで<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Portal extends My_controller
{
public function editAgreement()
{
$this->load->library('form_validation');
$config = array(
array(
'field' => 'modal_tarh',
'label' => 'tarh',
'rules' => 'required',
'errors' => array
(
'required' => 'pls fill %s .',
)
),
array(
'field' => 'modal_agreement_number',
'label' => 'agreement number',
'rules' => 'required',
'errors' => array
(
'required' => 'pls fill %s .',
)
)
);
$this->form_validation->set_rules($config);
if ($this->form_validation->run() == FALSE)
{
echo validation_errors();
}
else
{
redirect('admin/portal/');
}
}
}
callbackDataは、HTTPステータスコード200およびデータなし
あなたはAJAX呼び出しでサーバーからリダイレクトを行うことはできません。 [回避策については、この回答を参照してください](https://stackoverflow.com/a/19762782/3585500) – ourmandave