4 回答

TA貢獻1712條經(jīng)驗 獲得超3個贊
轉(zhuǎn)到 RegisterController.php。
將有一個 validator(array $data) 函數(shù)來驗證您的注冊輸入。
為名稱字段添加 not_in 驗證檢查。
是這樣的:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255', 'not_in:admin,operator'],
'pan' => ['required', 'string', 'min:10', 'max:10', 'unique:users,username'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
希望這會有所幫助。

TA貢獻1835條經(jīng)驗 獲得超7個贊
這是我在 Laravel 9 中使用 Breeze 腳手架所做的。
我用保留的用戶名創(chuàng)建了一個單獨的“服務”特性,這樣我就可以輕松地實現(xiàn)和擴展它。
創(chuàng)建一個
Services
文件夾在app/Services
Reserved
在以下位置創(chuàng)建特征app/Services/Reserved.php
保留.php
<?php
namespace App\Services;
trait Reserved
{
public static function usernames()
{
return ['admin', 'operator', 'someBadWord'];
}
}
接下來打開app/Http/Controllers/Auth/RegisteredUserController.php并導入特征,然后添加它。
現(xiàn)在只需使用規(guī)則將其添加到您的驗證規(guī)則中notIn。
Rule::notIn(Reserved::usernames())
注冊用戶控制器.php
use Illuminate\Validation\Rule;
use App\Services\Reserved;
class RegisteredUserController extends Controller
{
use Reserved;
...
public function store(Request $request)
{
$request->validate([
'username' => ['required', 'string', 'max:16', 'unique:users', Rule::notIn(Reserved::usernames())],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'confirmed', Rules\Password::defaults()],
]);
...
}
}

TA貢獻2051條經(jīng)驗 獲得超10個贊
您可以嘗試驗證請求的名稱是否不在預定義的阻止名稱列表中:
use Illuminate\Validation\Rule;
Validator::make($data, [
'toppings' => [
'required',
Rule::notIn(['admin', 'superuser']),//etc..
],
]);

TA貢獻1817條經(jīng)驗 獲得超14個贊
使用以下命令創(chuàng)建 RegisterControllerRequest:
php artisan make:request RegisterControllerRequest
在 中找到您最近創(chuàng)建的文件app/Http/Requests,然后更新rules()為:
public function rules()
{
? ? return [
? ? ? ? 'name' => 'required|notIn:admin,operator',
? ? ];
}
然后更新您的控制器以使用新的驗證:
在命名空間后添加:
use? App\Http\Requests\RegisterControllerRequest;
最后將驗證作為參數(shù)注入到您的注冊方法中:
public function register (RegisterControllerRequest $request)
- 4 回答
- 0 關注
- 190 瀏覽
添加回答
舉報