第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在默認(rèn)的 laravel 注冊(cè)表單中拒絕使用特定用戶名的用戶注冊(cè)?

如何在默認(rèn)的 laravel 注冊(cè)表單中拒絕使用特定用戶名的用戶注冊(cè)?

PHP
夢(mèng)里花落0921 2023-04-21 16:52:56
我試圖阻止用戶使用某些名稱(chēng),例如“admin”或“operator”。我嘗試擺弄Controllers/Auth/RegisterController和Controller/RegisterController但失敗了。我試過(guò)的是這樣的:in Controllers/Auth/RegisterController,if ($data['name'] === 'admin' || $data['name'] === 'operator') {             return redirect()->back()->withErrors(['Invalid username']);        } else {    session()->flash('message', 'Welcome!');    return User::create([    'name' => $data['name'],    'email' => $data['email'],    'password' => Hash::make($data['password']),            ]);        }上面的代碼給了我這個(gè)錯(cuò)誤:傳遞給 Illuminate\Auth\SessionGuard::login() 的參數(shù) 1 必須是 Illuminate\Contracts\Auth\Authenticatable 的實(shí)例,給定的字符串,在 /var/www/vendor/laravel/ui/auth-backend/RegistersUsers.php 中調(diào)用在第 36 行我還搜索了驗(yàn)證器是否可以阻止特定單詞但失敗了。我知道我可以通過(guò)使用 JS 來(lái)解決這個(gè)問(wèn)題,但我認(rèn)為 Laravel 會(huì)有這樣的功能。
查看完整描述

4 回答

?
交互式愛(ài)情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊

  1. 轉(zhuǎn)到 RegisterController.php。

    1. 將有一個(gè) validator(array $data) 函數(shù)來(lái)驗(yàn)證您的注冊(cè)輸入。

    2. 為名稱(chēng)字段添加 not_in 驗(yàn)證檢查。

是這樣的:

   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'],

        ]);

    }

希望這會(huì)有所幫助。


查看完整回答
反對(duì) 回復(fù) 2023-04-21
?
qq_花開(kāi)花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

這是我在 Laravel 9 中使用 Breeze 腳手架所做的。

我用保留的用戶名創(chuàng)建了一個(gè)單獨(dú)的“服務(wù)”特性,這樣我就可以輕松地實(shí)現(xiàn)和擴(kuò)展它。

  1. 創(chuàng)建一個(gè)Services文件夾在app/Services

  2. Reserved在以下位置創(chuàng)建特征app/Services/Reserved.php

保留.php

<?php


namespace App\Services;


trait Reserved

{

    public static function usernames()

    {

        return ['admin', 'operator', 'someBadWord'];

    }

}

接下來(lái)打開(kāi)app/Http/Controllers/Auth/RegisteredUserController.php并導(dǎo)入特征,然后添加它。


現(xiàn)在只需使用規(guī)則將其添加到您的驗(yàn)證規(guī)則中notIn。


Rule::notIn(Reserved::usernames())

注冊(cè)用戶控制器.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()],

        ]);


        ...

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-04-21
?
侃侃無(wú)極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

您可以嘗試驗(yàn)證請(qǐng)求的名稱(chēng)是否不在預(yù)定義的阻止名稱(chēng)列表中:


use Illuminate\Validation\Rule;


Validator::make($data, [

    'toppings' => [

        'required',

        Rule::notIn(['admin', 'superuser']),//etc..

    ],

]);


查看完整回答
反對(duì) 回復(fù) 2023-04-21
?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

使用以下命令創(chuàng)建 RegisterControllerRequest:


php artisan make:request RegisterControllerRequest

在 中找到您最近創(chuàng)建的文件app/Http/Requests,然后更新rules()為:


public function rules()

{

? ? return [

? ? ? ? 'name' => 'required|notIn:admin,operator',

? ? ];

}

然后更新您的控制器以使用新的驗(yàn)證:


在命名空間后添加:


use? App\Http\Requests\RegisterControllerRequest;

最后將驗(yàn)證作為參數(shù)注入到您的注冊(cè)方法中:


public function register (RegisterControllerRequest $request)

查看完整回答
反對(duì) 回復(fù) 2023-04-21
  • 4 回答
  • 0 關(guān)注
  • 204 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)