0
我在Yii中创建注册系统,我希望人们无法注册用户名,如管理员,管理员,超级用户,主持人......那么你能告诉我如何做到这一点吗?如果在表单验证中有一些机会将这些无效名称列入数组,那将会更好。Yii定义无效字符串
那么,有什么帮助吗?
我在Yii中创建注册系统,我希望人们无法注册用户名,如管理员,管理员,超级用户,主持人......那么你能告诉我如何做到这一点吗?如果在表单验证中有一些机会将这些无效名称列入数组,那将会更好。Yii定义无效字符串
那么,有什么帮助吗?
您可以为注册表单创建自定义验证器。要做到这一点最简单的方法是你的模型像这里面:
public function rules() {
return array(
array('username', 'my_validation_rule'),
);
}
public function my_validation_rule($attribute) {
$restricted_usernames = array('admin', 'root', 'superuser');
if(in_array($this->$attribute, $restricted_usernames))
$this->addError($attribute, 'This username is restricted!');
}
有一个内置的方式做到这一点,使用['CRangeValidator'](http://www.yiiframework.com/doc/api/ 1.1/CRangeValidator)。对它的规则如下所示:'array('username','in','range'=> array('admin','root','superuser'))''。 (虽然你的解决方案更好,因为它可以平凡地扩展以处理区分大小写,但CRangeValidator不能)。 – DCoder 2012-04-22 13:06:13