如果我不想刷新页面,该如何在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; }
如果我只是在其他部分说回声“某事”,它可以工作,并且如果验证还可以,则回声你好,但是如果我在数据库中写入主题(值数组中包含数据且不是ajax方式,则插入日期),它不起作用,其他部分不起作用!!!
如果您提供了JS-jQuery Ajax代码,则可以更有效地理解您的问题。请尝试以下说明…
1)获取获取表单值并传递给表单
<script type="text/javascript"> $(document).ready(function(){ var dataString = $("#FormId").serialize(); var url="ControllerName/MethodName" $.ajax({ type:"POST", url:"<?php echo base_url() ?>"+url, data:dataString, success:function (data) { alert(data); } }); }) </script>
控制器:
$ this-> load-> library(’form_validation’);
$ this-> load-> helper(’form’);
function MethodName { $this->form_validation->set_error_delimiters('', ''); $this->form_validation->set_rules('fname','First Name', 'required'); $this->form_validation->set_rules('lname','Last Name', 'required'); $this->form_validation->set_rules('email','Email Address','required|valid_email|is_unique[sec_users.email]'); if ($this->form_validation->run() == FALSE) { echo validation_errors(); } else { // To who are you wanting with input value such to insert as $data['frist_name']=$this->input->post('fname'); $data['last_name']=$this->input->post('lname'); $data['user_name']=$this->input->post('email'); // Then pass $data to Modal to insert bla bla!! } }
希望能在我的应用程序中正常工作。
如果是最佳答案,请接受。
谢谢!