gpt4 book ai didi

php - 使用 ajax 和 codeigniter 进行表单验证

转载 作者:行者123 更新时间:2023-12-01 05:19:03 25 4
gpt4 key购买 nike

我想在 ci 中的 html 弹出窗口中使用表单验证库,并在客户端请求时向客户端显示错误,如果验证错误 == True 则更新数据库中的行,如果验证错误 = False 则向客户端显示字段错误

我的 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);
}
});
});

});

代码点火器 Controller

<?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/');
}
}
}

ajax中的callbackData包含http状态代码200并且没有数据

最佳答案

您无法通过 ajax 调用进行类似的重定向。

改变

redirect('admin/portal/');

echo 'Success';

或者,如果您确实想在成功时重定向 ajax 请求,则执行

echo base_url('admin/portal/');

在你的ajax请求中:

success:function(callbackData, status, xhr){
window.location = callbackData;
},

您还可以考虑让 Controller 同时处理 ajax 和非 ajax 请求,如下所示:

if ($this->input->is_ajax_request()) {
echo base_url('admin/portal/');
} else {
redirect('admin/portal/');
}

关于php - 使用 ajax 和 codeigniter 进行表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46506314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com