Yii模型:用户名规则允许a-z_-

Luc*_*nto 6 php yii

如何在Yii Framework中制定规则,只允许用户名字段中的字符az,下划线和短划线?

谢谢

new*_*rey 15

您应该能够使用手册中概述的match/ pattern规则:

public function rules() {
    return array(
        array('username', 'required'),
        array(
            'username',
            'match', 'not' => true, 'pattern' => '/[^a-zA-Z_-]/',
            'message' => 'Invalid characters in username.',
        ),
    );
}
Run Code Online (Sandbox Code Playgroud)

这个未经测试的代码将要求username字段包含数据,然后验证它不包含不在接受字符列表中的字符(az,下划线和短划线).

  • 对于yii2,只需将array()替换为[]例如['company_name','match','not'=> true,'pattern'=>'/ [^ a-zA-Z _-] /','message'= >'无效字符',], (2认同)