"passw...">

Listen to Scala Helper Forms with Custom HTML

I create a form in Play using the following code:

@inputText(loginForm("password"), 'type -> "password", '_label -> null) 

It generates the following HTML code:

 <dl class=" " id="password_field"> <dt><label for="password"></label></dt> <dd> <input type="password" id="password" name="password" value=""> 

For now, I want it to generate:

 <input type="password" id="password" name="password" value=""> 

Is there an easy way to do this?

+2
source share
1 answer

You can achieve this by creating a custom FieldConstructor (see http://www.playframework.com/documentation/2.3.x/ScalaCustomFieldConstructors ).

Create a new views/helper/myPlainFieldConstructor.scala.html that contains the following:

 @(elements: helper.FieldElements) @elements.input 

[For reference, you can see the default field constructor here .]

Then in the view template containing your form:

 @import helper._ @implicitField = @{ FieldConstructor(myPlainFieldConstructor.f) } [...] @form(action = ...) { @inputPassword(loginForm("password")) } 

Note. If you really need value="" , you can add 'value -> "" to the helper arguments, i.e.

 @inputPassword(loginForm("password"), 'value -> "") 

Or optionally customize the HTML using the general input helper, as in:

 @input(loginForm("password")) { (id, name, value, args) => <input type="password" name="@name" id="@id" value="" @toHtmlArgs(args)> } 
+7
source

All Articles