亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 不同的驗證不適用于包含數字的字符串

Laravel 不同的驗證不適用于包含數字的字符串

PHP
當年話下 2023-06-18 16:26:16
我想驗證從某種形式獲得的值。值類型是文本。我希望它匹配表中數據庫中的特定用戶名users,但也不匹配當前用戶的用戶名。為此,我使用了以下驗證規則:'username' => [    'required',    'string',    'exists:App\User,username',    'different:' . auth()->user()->username]我發現只要auth()->user()->username值包含數字,它就會通過驗證,即使request()->username = auth()->user()->username. 我能做些什么來防止這種情況發生嗎?
查看完整描述

3 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

使用unique像 -

考慮的id是您的用戶 ID。

'username' => 'required|string|unique:username,id,'.auth()->user()->username,

這將檢查除此 userId 之外的用戶名是否唯一。


查看完整回答
反對 回復 2023-06-18
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

這個問題的答案是創建自己的Rule::exists驗證,如下所示:


'username' => [

    'required',

    'string',

    Rule::exists('users')->where(function ($query) {

        $query->where('username', '<>', auth()->user()->username);

    })

],


查看完整回答
反對 回復 2023-06-18
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

我解決了類似的問題如下。


$request->validate([

            'email' => ['required', 'email','unique:users,email,'.Auth::id()],

            'phone' => ['required', 'unique:users,phone,'.Auth::id()],

        ]);


查看完整回答
反對 回復 2023-06-18
  • 3 回答
  • 0 關注
  • 168 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號