Community contributed extensions

HTML5 Validation

The HTML5 validation module provides a drop-in replacement for HTML <input> elements called #{input /} which automatically adds HTML5 validation attributes to the final output based on your Play! model validation annotations.

Enable the HTML5 validation module

In the /conf/application.conf file, enable the HTML5 validation module by adding this line:

# The HTML5 validation module
module.html5validation=${play.path}/modules/html5validation-1.1

Usage

To use this module, simply replace those <input> elements which need validation with the #{input /} tag and specify the field from the corresponding model class. You can use all available attributes from the original HTML5 <input> element as well. Additional attributes can be set using the attributes attribute.

The list of available attributes is as follows:

Example

Suppose you have a Model class called User which has a field called name declared as

@Required
@MaxSize(8)
@Match(“[a-z]*”)
public String name;

you can replace your existing <input> element with the following:

#{input for:'user.name', id:'YourID', class:'class1 class2' /}

The tag will then output the following HTML code:

<input name="user.name" value="${user?.name}" id="YourID" class="class1 class2" required maxlength="8" pattern="[a-z]*>

Supported Annotations

The module currently supports the following annotations:

Issue tracking

If you want to report a bug or wish for a new feature, please use the issue tracker