我刚刚开始学习如何使用 CodeIgniter,之前从未使用过任何框架,所以我只知道一点流程。现在我有 1 个问题,我想将输入用户名设置为小写,但我不知道如何为 convert_lowercase() 编写函数。
下面是我的代码:
public function signup_validation()
{
$this ->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required|trim|is_unique[userinfo.username]|convert_lowercase');
$this->form_validation->set_rules('password', 'Password', 'required|trim');
$this->form_validation->set_rules('cpassword', 'Confirm Password', 'required|trim|matches[password]');
$this->form_validation->set_message('is_unique', 'That Username Already Exists.');
if($this->form_validation->run()){
}else{
$this->load->view('signup');
}
}
public function convert_lowercase()
{
strtolower($this->input->post('username'));
}
我不确定我的做法是否正确。
最好将 strtolower 放在 set_rules 参数中吗?还是最好放一个函数?
如果将其分开,应该如何完成以及如何获取最终的用户名数据以插入数据库?
有好心人可以帮我解决这个问题吗?
提前致谢。
最佳答案
您可以为 CodeIgniter 提供用于表单验证的 php 原生函数。你的代码应该是这样的
public function signup_validation()
{
$this ->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required|trim|is_unique[userinfo.username]|strtolower');
$this->form_validation->set_rules('password', 'Password', 'required|trim');
$this->form_validation->set_rules('cpassword', 'Confirm Password', 'required|trim|matches[password]');
$this->form_validation->set_message('is_unique', 'That Username Already Exists.');
if($this->form_validation->run()){
}else{
$this->load->view('signup');
}
}
您应该查看他们关于表单验证的文档:http://ellislab.com/codeigniter%20/user-guide/libraries/form_validation.html
关于php - CodeIgniter 将表单字段值变为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21747858/