如果我不想刷新页面,如何在codeigniter中进行表单验证?基本上我是这样做的:
$config = array(
array(
'field' => 'c_name',
'label' => 'Name',
'rules' => 'trim|required'
),
array(
'field' => 'c_job',
'label' => 'Job',
'rules' => 'trim|required',
)
);
$this->form_validation->set_rules($config);
if($this->form_validation->run() == true)
{
$this->load->model('model');
//.....
}
else{
$this->load->view('view');
}
但如果我用 AJAX 发送数据,页面不刷新,我怎么做表单验证?
编辑:
谢谢@ Amra Kojon。这很好,也很有效,但新的问题是:
if ($this->form_validation->run() == FALSE) {
echo validation_errors();
}
else {
//echo 'hi';
$value = $this->input->post('value');
$values = array(
'c_name' => $value['c_name'],
'c_job'=> $value['c_job'],
'c_address'=> $value['c_address'],
'c_phone'=> $value['c_phone'],
'c_mail'=> $value['c_mail'],
'c_state'=> $value['c_state'],
'c_intrest'=> $value['c_intrest'],
'c_added_info'=> $value['c_added_info']
);
$add = $this->customers_model->add_customer($values);
echo $add;
}
如果我只是说echo“something”在else部分,它的工作,如果验证是OK,它echo hi,但如果我在数据库中写主题(其中值数组有数据,而不是 AJAX 方式,它插入日期),它不工作,else部分不工作!!!
6条答案
按热度按时间hgqdbh6s1#
如果你给你的js-jquery AJAX 代码,它会更有效地理解你的问题...别担心!试试我下面的说明...
如果您有任何问题,请在这里输入您的问题。如果你想在一个文件中找到一个文件,那么你可以在一个文件中找到一个文件。} }); })
控制器:
1.将构造中的库form_validation加载为...
这是一个很好的例子。
加载帮助器('form');
1.现在将控制器编写为...
}
lztngnrs2#
我知道你的问题已经有一年了,但是你可以用这个来做最新的引导程序
AJAX 脚本
完整视图代码
yeotifhr3#
如果您知道使用 AJAX 传递数据,那么工作流程如下。
1)通过 AJAX 将表单数据发送到控制器。
2)从现在开始执行表单验证。
3)如果成功,则“echo”值为1
4)如果失败,回显值为0
因此使用echo中的值,您可以确定验证是否失败。
示例 AJAX 代码
qgelzfjb4#
jm81lzqq5#
这是我尝试的工作(Codeigniter 3.0)的基本例子,实现你想要做的事情
在视图中包括filename.js
查看HTML表单示例在本例中,在am using className中,您可以使用id,也可以相应地更改filename.js文件
控制器PHP代码
fkvaft9z6#
如果使用 AJAX ,...您不能使用form_validation库,因此您可以在客户端使用jquery进行验证...在服务器端应使用if语句检查提交的数据