2011-12-30 68 views
-1
$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); 

我得到的错误笨从1.5.4升级到新版本set_fields()错误

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

我知道这个错误是因为验证库已折旧并被Form_Validation取代

但是,在没有更改大部分代码的情况下,当前库中是否有替换?

+0

我从来没有使用1.5分支,但它不应该太难转换到set_rules()格式。正则表达式查找和替换会让你一半... – landons 2011-12-30 20:47:51

回答

2

Is there any replacement in current library without changing much of the code ?

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

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

你需要将它更改为:

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

并使用set_rules()

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

这是一个重大升级你的笨安装(发布日期:2007年7月12日... v1.5现在已经很老了),所以在尝试半升级你的代码的时候没什么意义,只是咬紧牙关,确保测试。

+0

感谢您的评论。所以我升级到1.7.2与PHP5一起工作,这是我现在需要填写的唯一要求。 – 2012-01-02 15:35:52

-1

没有意义的家伙,最好的我可以拿出。

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