How to use the parsley.js pattern tag?

KSPR picture KSPR · May 5, 2014 · Viewed 17.5k times · Source

How do I add the attr:data-parsley-pattern="" tag correctly to a input?

I wrote this:

<input type="text" name="serialnr" id="serialnr" data-parsley-pattern="^[a-zA-Z]{4}[ -]?[a-zA-Z]{4}[ -]?[a-zA-Z]{4}[ -]?[a-zA-Z]{4}$">

But this does exactly nothing (No validation takes place at all while the other input are validated correctly). Do I have to add data-parsley-required="true"? (Which I did but that didn't help). I tested the regex with https://www.debuggex.com/ so It shouldn't be a typo. What do I miss?

I call parsley only via data-attributes. Does that matter maybe?

Thank you.

Answer

guillaumepotier picture guillaumepotier · May 10, 2014

Your code seems to work perfectly here: http://jsfiddle.net/c2r4R/

What you need to know: Parsley validates only empty required fields. Your data-parsley-pattern directive is not applied if field is left empty. You'll need to add a required tag in order to throw an error if field is left empty, and throw another pattern error if field do not match your serial number pattern.

Best