禁止用户选择指定的用户名

时间:2017-05-28 07:01:36

标签: php laravel

我正在制作一个Laravel应用程序,我的用户可以在注册时选择他们的username,但我也想禁止他们选择一些用户名,例如"管理员,管理员等"我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

您可以使用not_in验证规则:

'name' => 'not_in:Admin,Administrator'

或者您可以在DB表中保留单词列表并使用unique规则:

'name' => 'unique:table_name,name'

如果您想让管理员编辑这些单词,那么这是一个更好的选择。

答案 1 :(得分:1)

在AppServiceProvider中为它创建自定义验证

public function boot() 
{ 
    Validator::extend('not_exist', function ($attribute, $value, $parameters,$validator) 
    { 
        if(count(Prohibit::where('name','=',$value)->get()) == 0){ 
            return true; 
        } 
        return false; 
    }); 
}

然后在resources / lang / en / validation.php中将其添加到数组

'not_exist' => ":attribute prohibitted.",

答案 2 :(得分:0)

添加验证规则not_in:admin,Administrator,...