【问题标题】:Codeigniter: Accepting Space and Symbols for Validation with JQueryCodeigniter:接受空格和符号以使用 JQuery 进行验证
【发布时间】:2016-04-28 01:59:00
【问题描述】:

我有一个需要验证的表单,但我很难弄清楚如何使用 JQuery 进行验证,尤其是当 JQuery 将 space 更改为 %20 并且不接受任何符号(例如 @,$,!)时,请采取看看下面的截图

符号错误

表示您输入的 URI 包含不允许的字符

空间

然后对于space 输入,它会更改值并添加%20 当然Firhal%20Faisal不在数据库中,只有Firhan Faisal

我怎样才能解决我遇到的这两个问题?下面是我的 name 的 javascript 验证表单,它似乎将 space 输入更改为 %20,对于电子邮件,它基本上是相同的

JAVASCRIPT

$("#nama").bind("keyup change", function(){
    var nama = $(this).val();
    $.ajax({
        url:'cekData/mahasiswa/nama_mahasiswa/'+nama,
        data:{send:true},
        success:function(data){
            if(data==1){
                $("#reportNama").text("");
                 $('button[type="submit"]').prop('disabled','');
                 $("#username").prop("disabled", '');
                 $("#password").prop("disabled", '');
                 $("#nim").prop("disabled", '');
                 $("#email").prop("disabled", '');
                 $("#telepon").prop("disabled", '');
            }else{
                $("#reportNama").text("*nama sudah ada");
                 $('button[type="submit"]').prop('disabled',true);
                 $("#username").prop("disabled", true);
                 $("#password").prop("disabled", true);
                 $("#nim").prop("disabled", true);
                 $("#email").prop("disabled", true);
                 $("#telepon").prop("disabled", true);
                }
            }
        });
    });

控制器

public function cekData($table,$field, $data){
    $match = $this->MDosen->read($table,array($field=>$data), null, null);
    if($match->num_rows() > 0){
        $report = 2;
    }else{
        $report = 1;
    }
    echo $report;
}

【问题讨论】:

    标签: javascript jquery codeigniter validation


    【解决方案1】:

    您应该使用 GET 或 POST 参数传递值:

    JavaScript

    $.ajax({
        url:'cekData/mahasiswa/nama_mahasiswa/',
        data:{send:true, value: nama},
        success:function(data){
            ...
        }
    });
    

    控制器

    public function cekData($table,$field){
        $data = $this->input->get('value');
        $match = $this->MDosen->read($table,array($field=>$data), null, null);
        if($match->num_rows() > 0){
            $report = 2;
        }else{
            $report = 1;
        }
        echo $report;
    }
    

    【讨论】:

    • 好吧,它适用于空间,但是当使用符号时它不起作用,例如当验证电子邮件 tes@gmail.com 时,url 发送这样的数据 tes%40gmail.com 和错误说“不同意的字符,任何想法?
    • @MirzaChilman 当符号在 URL 中或作为 GET/POST 参数的键传递时出现错误,因此您可能需要仔细检查您不这样做的原因。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多