11 php codeigniter
我正在使用codeigniter 2.1.4
我正在使用form_validation库进行表单验证.
当我尝试运行该功能时,我得到以下错误
无法加载请求的语言文件:language/en/form_validation_lang.php
我扫描了所有文件.我没有在任何文件中使用或调用此语言文件,我收到此错误.
function insert(){
$this->load->library('form_validation');
$this->form_validation->set_rules('username_field', 'username', 'required');
$this->form_validation->set_rules('firstname_field', 'firstname', 'required');
$this->form_validation->set_rules('lastname_field', 'lastname', 'required');
$this->form_validation->set_rules('email_field', 'email', 'required|valid_email|callback_isEmailExist');
if ($this->form_validation->run() == FALSE) {
$this->create();
}
}
function isEmailExist($email) {
$this->load->library('form_validation');
$is_exist = $this->users->isEmailExist($email);
if ($is_exist) {
$this->form_validation->set_message(
'isEmailExist', 'Email address is already exist.'
);
return false;
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
这是什么解决方案?
CI form_validation库使用语言文件显示错误消息.您正在使用required valid_email这些错误消息写在里面form_validation_lang.php.
form_validationform_validation_lang.php无论你是否加载,库都会加载语言文件()本身.你可以打开库文件并查看运行函数,你会看到一行$this->CI->lang->load('form_validation');
此文件位于您的system/language/your_language/或application/language/your_language/.
该错误消息说您错过了任何文件夹中的文件.如果您下载原始CI文件,它应该在system/language/english/文件夹内.如果您没有看到文件下载 CI并在那里恢复文件.
小智 7
文件system/language夹中的application/language文件夹2中有两个语言文件位置
对于表单验证,CI使用该system/language文件夹
在你的config.php(在application/config)中,你指定了你想要使用的语言文件夹.
所以,打开你的配置文件并寻找
$config['language'] = 'en';
Run Code Online (Sandbox Code Playgroud)
查看您的system/language文件夹,看看是否有一个名为"en"的文件夹,以及是否有form_validation_lang.php文件.
如果没有,我认为有一个名为的文件夹english.然后解决方案是将'en'配置更改为english.