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