我正在建立一个注册系统,我遇到了一个问题。
我想让点(。)进入我的用户名,但我找不到办法来做到这一点......
这只是我可能想要在我的应用程序的订单功能中使用的一个示例。
这是我到目前为止所得到的:
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'trim|required|alpha_numeric|min_length[6]|xss_clean');
由于
答案 0 :(得分:3)
您必须在控制器中创建自己的自定义功能:
class Form extends CI_Controller
{
function index()
{
$this->load->library('form_validation');
// 'callback_valid_username' will call your controller method `valid_username`
$this->form_validation->set_rules('username', 'Username', 'trim|required|callback_valid_username|min_length[6]|xss_clean');
if ($this->form_validation->run() == FALSE)
{
// Validation failed
}
else
{
// Validation passed
}
}
function valid_username($str)
{
if ( ! preg_match('/^[a-zA-Z0-9.]*$/', $str) )
{
// Set the error message:
$this->form_validation->set_message('valid_username', 'The %s field should contain only letters, numbers or periods');
return FALSE;
}
else
{
return TRUE;
}
}
}
有关自定义验证功能的更多信息,请阅读文档:
http://codeigniter.com/user_guide/libraries/form_validation.html#callbacks