如何将输入与 laravel 验证中的某些特定数据进行比较
How can I compare the inputs to some specific data in laravel validation
我正在制作一个网络应用程序,我希望只有那些知道特殊代码的人才能注册。我应该怎么做或检查用户在注册表单上输入的代码..RegisterController 中的验证器函数有这个代码:- .
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'place' => 'required|max:255',
'password' => 'required|min:6|confirmed',
]);
}
我应该加入什么?
如果您想将注册码存储在单独的 table 中,您可以在验证器中执行此操作。
codes
id - integer
code - string
验证逻辑
'code' => 'required|exists:codes',
如果您想使用自定义列名进行验证,那么您可以这样做
'code' => 'required|exists:codes,columnName',
如果代码是简单的硬编码值,那么您可以编写自定义验证规则并使用它。
在AppServiceProvider
的boot
方法中添加这个
Validator::extend('registration_code', function ($attribute, $value, $parameters, $validator) {
return $value === 'supersecretcode';
});
验证逻辑
'code' => 'required|registration_code,
如果您使用控制器,您可以使用它!
public function validator(Request $request)
{
// validation
$this->validate($request, array(
'title' => 'required|max:255',
'slug' => 'required|alpha_dash|min:5|max:255|unique:posts,slug',
'body' => 'required'
));
我正在制作一个网络应用程序,我希望只有那些知道特殊代码的人才能注册。我应该怎么做或检查用户在注册表单上输入的代码..RegisterController 中的验证器函数有这个代码:- .
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'place' => 'required|max:255',
'password' => 'required|min:6|confirmed',
]);
}
我应该加入什么?
如果您想将注册码存储在单独的 table 中,您可以在验证器中执行此操作。
codes
id - integer
code - string
验证逻辑
'code' => 'required|exists:codes',
如果您想使用自定义列名进行验证,那么您可以这样做
'code' => 'required|exists:codes,columnName',
如果代码是简单的硬编码值,那么您可以编写自定义验证规则并使用它。
在AppServiceProvider
boot
方法中添加这个
Validator::extend('registration_code', function ($attribute, $value, $parameters, $validator) {
return $value === 'supersecretcode';
});
验证逻辑
'code' => 'required|registration_code,
如果您使用控制器,您可以使用它!
public function validator(Request $request)
{
// validation
$this->validate($request, array(
'title' => 'required|max:255',
'slug' => 'required|alpha_dash|min:5|max:255|unique:posts,slug',
'body' => 'required'
));