Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 如何在Play框架中保持来自inputPassword助手的字段中的值?_Forms_Scala_Playframework_Passwords_Form Helpers - Fatal编程技术网

Forms 如何在Play框架中保持来自inputPassword助手的字段中的值?

Forms 如何在Play框架中保持来自inputPassword助手的字段中的值?,forms,scala,playframework,passwords,form-helpers,Forms,Scala,Playframework,Passwords,Form Helpers,如果答案是显而易见的,请原谅,虽然我了解Java,但我对Scala、Play框架和通用web应用开发非常陌生 我已经采取了一个项目,其中有一个视图,您可以设置一些数据库连接的细节,包括字段,如数据库名称,用户名,密码等。目前的代码使用播放输入助手“inputText”,所以密码字段显示的是纯文本密码。我需要修复此问题,因此已将其更改为使用“inputPassword”帮助器。但是,每当我在应用程序中访问此页面以编辑其中一个其他字段时,密码字段尚未填充密码,因此用户需要重新输入密码才能保存,我不想

如果答案是显而易见的,请原谅,虽然我了解Java,但我对Scala、Play框架和通用web应用开发非常陌生

我已经采取了一个项目,其中有一个视图,您可以设置一些数据库连接的细节,包括字段,如数据库名称,用户名,密码等。目前的代码使用播放输入助手“inputText”,所以密码字段显示的是纯文本密码。我需要修复此问题,因此已将其更改为使用“inputPassword”帮助器。但是,每当我在应用程序中访问此页面以编辑其中一个其他字段时,密码字段尚未填充密码,因此用户需要重新输入密码才能保存,我不想这样做

当它是inputText帮助程序时填充的密码,所以我只能假设inputPassword帮助程序中有某种东西阻止值在表单中填充,也许它希望密码字段仅在输入新的值时使用?是否有一种方法可以覆盖此字段,并让其在屏幕表单中填写密码,以便用户不必重新输入以更改页面上的另一个字段

在我看来,这是旧版本

@inputField(form("password"), '_label -> "Password", '_labelwidth -> "2", 'class -> "form-control", '_type -> "password", '_single -> false)</code>
这是新版本

@inputPassword(form("password"), '_label -> "Password", '_labelwidth -> "2", 'class -> "form-control", '_single -> false, '_type -> "password")
然后,我在包含
@helper.inputText(字段,参数:*)
的模板inputField.scala.html和包含
@helper.inputPassword(字段,参数:*)

我尝试在inputPassword版本中的参数中添加
'value->form(“password”).value
,虽然这在密码字段的星号中显示了一些内容,但凭据不正确,因此它不可能是正确的信息


欢迎提供任何帮助或建议,即使只是为了理解为什么inputText填充字段而inputPassword不填充字段。我唯一能想到的另一种方法是将密码作为单独的表单放在同一页面上,并使其仅在使用该页面进行数据库凭据的初始设置时才强制输入密码,而在编辑页面上则是可选的。

我认为没有必要来回发送密码值出于安全原因。作为一名互联网用户,我从未见过填写密码的表单

关于你的情况,我有两种选择:

  • 或者将单独的密码更改为另一种形式(但如果您有更复杂的密码重置过程,如两步验证,则通常可以选择此选项)
  • 或者在服务器上应用以下密码验证逻辑:如果密码为空,则保持密码不变

谢谢,我将更改应用程序,然后使用以下方法之一。