Php Laravel旧方法不返回密码值

Php Laravel旧方法不返回密码值,php,laravel,laravel-5.7,Php,Laravel,Laravel 5.7,我目前正在学习Laravel,我正在创建一个登记表。当表单有错误时,我想用它们的旧值重新填充输入字段 我的表单如下所示: <form method="post" action="/users/store"> @csrf <input type="text" name="username" value="{{ old('username') }}"> <input type="email" name="email" value="{{ old(

我目前正在学习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>

@csrf
证实
为了便于阅读,我从输入文件中删除了所有标签、类和ID

看起来Laravel不想用旧密码重新填充输入字段。我之所以认为这是真的,是因为用户名和电子邮件确实有效,但两个密码字段都无效。 每当我将密码字段更改为文本字段时,都会将名称从password更改为类似“asdasd”的名称,这确实有效

我的问题是:我的理论正确吗?如果是的话,为什么拉雷维尔会这样做?它与安全相关吗?提前谢谢


我查看了
旧的
方法,但它没有说明任何关于密码的内容

Laravel故意阻止
密码
密码确认
。一般来说,最好不要将密码返回给用户。它在其异常处理程序中执行此操作


如果您真的想包含它,请更新
app/Exceptions/Handler.php
文件,从
dontFlash
数组中删除
密码和
密码确认。它与安全有关。密码是一种特殊的字段类型,因此,它既不应显示值,也不应使用旧值填充字段。事实上,出于安全原因,我强烈建议不要覆盖此默认行为


另一方面,您的浏览器可能会根据设置为您存储和预填充密码字段。

会发生什么情况?您希望在那里看到明文形式的密码吗?没有发生任何事情,字段保持为空。我希望字段重新填充密码。谢谢!这就是我要找的信息!我不知道总的来说这是一个坏习惯。不会将其从阵列中删除。(等待SO允许我将此标记为答案…)没问题。我很高兴它会很好,如果它是在个案的基础上提供。我刚刚遇到这个问题,通常不会将密码显示为“是”,这是有道理的,但同时存储其他东西的登录名和密码,然后就会受到这个问题的影响。现在我将重命名该字段,但重点是这个特殊情况要求表单存储和显示密码以供外部使用。可能还会与团队交谈,了解他们是否需要将此信息存储在我正在制作的网站中,或者是否最好将其存储在其他地方。感谢您的回答,如果与安全相关,我通常不会覆盖默认行为,因此也不会更改此设置。也就是说,将字段类型更改为
text
不会更改输出。正如乔治·汉森(George Hanson)在回答中所说的那样,密码和密码确认被列入该功能的“黑名单”。