1

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?

stevec
  • 41,291
  • 27
  • 223
  • 311

1 Answers1

1

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

mikezter
  • 2,393
  • 1
  • 17
  • 24
  • Thanks for explaining that, I really couldn't figure out why `pattern` seemed to be missing from `form_for` rails guides/docs. I will know for next time now – stevec Oct 29 '20 at 11:49