Tapestry 5.4.1 is failing for regexp validations when they are related to numeric fields.
Example of regexp applied to a numeric field validation: [0-9]+(\.[0-9][0-9]?)? This fails because in validation.js matches function uses input.match(re); Well if the regexp is for numeric field parseNumber function in same file returns a Number object which as not a match function defined. I think this is crucial and is another of my struggles to migrate T5.3 to T5.4 Here is a RequireJS module to workaround this problems, contributing a match function to Number prototype. (function() { define([], function() { Number.prototype.match = function(regexp) { var result = this.toString().match(regexp); for(i = 0; i < result.length; i++) { // convert to int otherwise // groups[0] === input will fail result[i] = parseInt(result[i]); } return result; } }); }).call(this); Best regards, Ricardo Veloso