我目前正在學習Laravel,并且正在創建注冊表。當表單有錯誤時,我想用其舊值重新填充輸入字段。我的表格如下所示:<form method="post" action="/users/store"> @csrf <input type="text" name="username" value="{{ old('username') }}"> <input type="email" name="email" value="{{ old('email') }}"> <input type="password" name="password" value="{{ old('password') }}"> <input type="password" name="password_confirmation" value="{{ old('password_confirmation') }}"> <button class="btn btn-outline-warning" id="registerConfirm">Confirm</button></form>為了便于閱讀,我從輸入文件中刪除了所有標簽,類和ID??磥鞮aravel不會“想要”使用舊密碼填充輸入字段。我認為這是事實,是因為用戶名和電子郵件都可以,但是兩個密碼字段都不能。每當我將密碼字段更改為文本字段并將名稱從密碼更改為“ asdasd”之類的方法時,它就可以正常工作。我的問題是:我的理論是否正確?如果正確,為什么Laravel會這樣做?與安全相關嗎?提前致謝!我查看了該方法的文檔,old但未提及任何密碼。
2 回答

catspeake
TA貢獻1111條經驗 獲得超0個贊
Laravel故意阻止password
和阻止password_confirmation
。通常,最好不要將密碼返回給用戶。它在異常處理程序中執行此操作。
如果你真的想包括它,更新您的app/Exceptions/Handler.php
文件以刪除password
并password_confirmation
從dontFlash
陣列。

陪伴而非守候
TA貢獻1757條經驗 獲得超8個贊
對,那是正確的。它與安全性有關。password是一種特殊的字段類型,因此,它既不應顯示該值,也不應使用舊值填充該字段。實際上,出于安全原因,我強烈建議您不要覆蓋此默認行為。
另一方面,根據設置,您的瀏覽器可能會為您存儲和預填充密碼字段。
- 2 回答
- 0 關注
- 209 瀏覽
添加回答
舉報
0/150
提交
取消