How to change the message when a form input doesn't match the pattern parameter?

528 Views Asked by At

A pattern argument can be provided to a form field as described here

Example (regex from here)

<%= f.text_field :username, pattern: "([A-Za-z0-9\-\_]+)" %>

When the regex is not adhered to, a message is displayed. E.g.:

enter image description here

How can that message be customised?

1

There are 1 best solutions below

1
mikezter On BEST ANSWER

The pattern attribute is actually a HTML spec, not a Rails thing. You can use the title attribute to give users a hint on to what format is expected.

<%= f.text_field :username, pattern: "([A-Za-z0-9\-\_]+)",
                            title: "A username can only contain letters, numbers, hyphens and underscores" %>

Find more information here: https://html.spec.whatwg.org/multipage/input.html#the-pattern-attribute