繁体   English   中英

使用ajax在codeigniter中进行表单验证

[英]form validation in codeigniter with ajax

我想验证组名。

我正在使用ajax但无法正常工作

这是我的看法

<?php echo form_input(['name'=>'groupname','class'=>'form-control','placeholder'=>'Enter group name','value'=>'','ng-model'=>'myWelcome[0].groupname','onkeyup'=>'loadValid(this.value)']) ?>

Javascript功能

 <script type="text/javascript">
  function loadValid(v) {
     if(v)
     {
         var url= window.location.href;
         var res = url.split("/");
         var groupid = res[res.length-1];
         var xhttp = new XMLHttpRequest();
         xhttp.onreadystatechange = function() {
             if (xhttp.readyState == 4 && xhttp.status == 200) {
                 document.getElementById("demo").innerHTML = xhttp.responseText;
             }
          };
         xhttp.open("GET", site_url + "admin/Usergroup_controller/store_edit_group_name_ajax/" + groupid + "/" + v, true);
         xhttp.send();
     }
     else
     {
         document.getElementById("demo").innerHTML = "Group name is required field.";
     }
  }
</script>

控制器功能

public function store_edit_group_name_ajax($groupid,$groupname)
{
    $this->load->library('form_validation');
    $this->form_validation->set_rules('groupname', 'Group name', 'trim|required|alpha|is_unique[group.groupname]|min_length[3]');

    if( $this->form_validation->run() )
    {
        echo form_error('groupname','<p class="text-danger">','</p>');
    }
}

请帮忙...

确保首先创建响应对象。

$response = new stdClass();
if ($this->form_validation->run() == false)
{
    $response->status = 'failure';
    $response->error = validation_errors('<p class="text-danger">', '</p>');
}
...
return $response;

得到响应后的Javascript中;

document.getElementById("demo").innerHTML = xhttp.responseText.error;

只是回显ajax结果是您需要立即离开的事情。 请把它作为友好的建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM