codeigniter从1.5.4升级到新版本


codeigniter Upgrade from 1.5.4 to new version set_fields() Error

    $fields['password']         = "Password";
    $fields['confirm_password'] = "Confirm Password";
    $fields['customer_number']  = "Customer Number";
    $fields['customer_password']  = "Customer Number";
    $fields['first_name']       = "First Name";
    $fields['last_name']        = "Last Name";
    $fields['company_name']     = "Company Name";
    $fields['email_address']    = "Email Address";
    $fields['confirm_email']    = "Confirm Email Address";
    $fields['phone_number']     = "Phone Number";
    $fields['street']           = "Street Address";
    $fields['city']             = "City";
    $fields['zip_code']         = "Zip Code";
    $fields['state']            = "State";
    $fields['country']          = "Country";
    $this->form_validation->set_fields($fields);

我得到错误

**致命错误:调用未定义的方法CI_Form_validation::set_fields() **

我知道这个错误是因为验证库贬值并被Form_Validation

取代

在当前库中是否有不需要更改太多代码的替代品?

没有快速/简单的方法来迁移此代码(您的表单字段配置)到较新的版本,它必须手动完成。如果你的旧配置是这样的:

$fields['password'] = "Password";

你需要把它改成:

$fields[] = array(
    'field' => 'password',
    'label' => 'Password'
);

使用set_rules():

$this->form_validation->set_rules($fields);

这是对您的Codeigniter安装的主要升级(发布日期:2007年7月12日…V1.5现在已经相当老了),所以没有必要瞎折腾,试图半升级你的代码,只要咬紧牙关,确保测试。

胡说,老兄,这是我能想出的最好的办法了

$this->form_validation // automatically assign's {key}{value} pairs via $_POST