@elements.input
@elements.errors.mkString(", ")
@elements.infos.mkString(", ")
```
> **Note:** This is just a sample. You can make it as complicated as you need. You also have access to the original field using `@elements.field`.
Now create a `FieldConstructor` using this template function:
```
object MyHelpers {
implicit val myFields = FieldConstructor(myFieldConstructorTemplate.f)
}
```
And to make the form helpers use it, just import it in your templates:
```
@import MyHelpers._
@inputText(myForm("username"))
```
It will then use your field constructor to render the input text.
> **Note:** You can also set an implicit value for your `FieldConstructor` inline in your template this way:
>
> ```
> @implicitField = @{ FieldConstructor(myFieldConstructorTemplate.f) }
>
> @inputText(myForm("username"))
> ```
## Handling repeated values
The last helper makes it easier to generate inputs for repeated values. Let’s say you have this kind of form definition:
```
val myForm = Form(
tuple(
"name" -> text,
"emails" -> list(email)
)
)
```
Now you have to generate as many inputs for the `emails` field as the form contains. Just use the `repeat` helper for that:
```
@inputText(myForm("name"))
@repeat(myForm("emails"), min = 1) { emailField =>
@inputText(emailField)
}
```
The `min` parameter allows you to display a minimum number of fields even if the corresponding form data are empty.
> **Next:** [[Working with JSON| ScalaJson]]