blaze0207

2461 经验值

我是用 5.2,不過剛已經解了,我在 request 裡面添加 public function all() 來去修改原本的 request 的 value,這樣驗證才吃得到被修改過後的 value,才會有驗證效果!!!

不知道這樣解法是否OK?
還是有更好的解法?

各位大大好,小弟想請教一個問題!

我想做一個驗證輸入的生日是否滿十八歲,前置作業我已經轉好成西元年的格式了!
簡單來說~只要輸入的生日是在 西元 2000-12-31 之後的,一律都要回錯誤訊息給前端,例如:您未滿十八歲之類的警告~!!!

我會把前端 request 進來的 value 做完處理後在 merge 回去 request->position 的欄位裡面,準備拿來當作生日日期的驗證!

程式碼(rules):

按照規則~應該要在 before 那邊就會驗證不過,並且回傳錯誤訊息~
但是不管我輸入多大多小的日期~都還是可以 pass ,找不出原因,
所以特此來請教各位大大們了~~!!

剛看了一下源碼~我知道問題所在了,應該要用 laravel 原生的 jobtitle
已解決~

請問一下,當我下指令產生假資料的時候,會有一個錯誤,
錯誤如下:
InvalidArgumentException with message 'Unknown formatter "position"'

我是用 laravel 5.2 ,想請問這問題要如何解決?

滿厲害的解說~對比較底層的好熟!!!
果然利害~不愧為大大!!!

@jellybool
請問一下,這部分是針對該路由訪問的次數限制,

那如果我今天要針對 該用戶 對於 該路由 的訪問次數來做限制的話呢?

例如該路由可以上傳資料,為了避免被惡意連續上傳,所以要作此防範機制!

我喜歡完全分離~~!
畢竟切得越乾淨~之後如果有BUG,找問題也比較好找!

加上現在前端越來越強大了,很多事情其實前端就可以處理完了!
後端就專心的負責資料處理,資料庫,API.....等功能!

這是我自己個人的看法~參考參考~畢竟每個人工作環境不同!
不過最重要的是,最好是前後端都要學,至少有個概念或基本技術,
以後要合作或是工作也比較好配合~!

@JellyBool
終於解決掉此問題!!!!
我在此總結一下~~!

1:問題出在 laravel 對於 password 這個 key name 有強制性!
也就是說,即使存入DB的時候是明碼,但在做 login 時,laravel會自動把它轉成加密後才去比對,
因此永遠都不會比對正確.

2.至於一開始的方法加密後在儲存,並且一直在login報錯,後來這幾天我再照著您教學試又正常了,
估計可能我前幾次手誤或是漏了哪邊吧,才會導致一直 login 報錯的狀況,真是抱歉~!

後來我整個砍掉,重新做一次,完全用 laravel 預設的

1.加密拿掉
2.用原生users table
最後一步到登入輸入信箱和密碼
一樣還是報錯~~我已經不知道怎解這個問題了!

請問密碼不多是什麽意思?

不好意思下次我會注意~!
我剛剛試了Hash::check 一直回傳 false

後來我乾卻不加密去測試,也是回傳 false!!
不知道如何解決@@

我剛在測試了一下:
如果我
return $request->get('email'); 有值並正確!

反之
return Auth::attempt(['email' => $request->get('email'),]); 就回傳 false

這樣子的話有可能會是什麼原因呢?
不好意思一直發問打擾~!

PS:我不是用原生的 users table,我是另外創一個 admin_users table
我也有去改過 config/auth.php 的 provider,結果也是一樣~!