簡體   English   中英

Codeigniter未解碼電子郵件地址

[英]Codeigniter is not decoding email address

我正在通過ajax提交給控制器的表單發送我的電子郵件地址,而ajax的數據是通過此函數創建的:

// Function "serializeToJson" - Serialize form data, merge new object and returns json object
function serializeToJson(element, newObj){
    // Serialize form and split into Json Object
    var data = element.serialize().split("&");
    var object = {};
    for(var key in data){
        object[data[key].split("=")[0]] = data[key].split("=")[1];
    }

    // Merge new json obj to existing json object
    const target = {};
    $.extend(target, newObj, object);

    // return the final json object
    return target;
}

在我的阿賈克斯

data : serializeToJson(SUform, {action:'process_signup'}),

通過表格發送的電子郵件已經被urlencoded,即

XXXXXXXXXX%40gmail.com

當我在控制器中收到數據時, %40應該解碼為@ 在我的控制器中,我為電子郵件設置了以下表單驗證規則:

$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|is_unique[users.email]');

錯誤:

電子郵件字段必須包含有效的電子郵件地址

我想要的是?

有什么方法可以對表單驗證中的電子郵件進行url解碼?

您可以使用:

trim|urldecode|valid_email

它應該像文檔所說的那樣工作,您可以將任何php函數用作“規則”,它將適用。

當您將其放入數據庫時​​,仍然需要再次對其進行urldecode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM