....Checking, don't think the js is anything to do with templating,
More in the struts app. Should be on the pages that require email
validation.
On 10/11/2026 04:27, Matt Raible wrote:
On Nov 8, 2026, at 04:30, Greg Huber<[email protected]> wrote:
I am getting this again, seems flaky.
From the browser I see
Uncaught ReferenceError: $ is not defined
<anonymous>http://www.wikidrinker.co.uk/roller/theme/scripts/roller.js:240
which is
$(document).ready(function () {
jQuery("form.validate-form").validate();
// Added method to check valid email address and add a custom error message
jQuery.validator.addMethod(
"regex",
function(value, element, regexp) {
if (regexp && regexp.constructor != RegExp) {
regexp = new RegExp(regexp);
} else if (regexp.global) {
regexp.lastIndex = 0;
}
return this.optional(element) || regexp.test(value);
}
);
// Applied email rules to field with class name validate-email
jQuery( ".validate-email" ).rules( "add", {
minlength: 3,
maxlength: 255,
email: true,
regex: /^\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i
});
});
Template :
roller/app/src/main/webapp/themes/basic/weblog.vm
There is no jquery? Is something supposed to inject jquery now?
Hi Greg,
Nothing is meant to inject jQuery on weblog pages, and that error isn't new in RC5. The
$(document).ready block in roller.js came in with the jQuery validation work for the
admin UI (ROL-2156) and has been in every release since 6.1.0. The admin pages load
jQuery first, but the comment form in WEB-INF/velocity/weblog.vm and popupcomments.vm
include roller.js without it, so any page showing the comment form logs "$ is not
defined". Pages without the form don't load roller.js, which may be why it looks
flaky.
It's harmless: the block is the last thing in roller.js, so getCookie and the
comment form scripts still work. The jQuery validation was only meant for admin
forms.
The fix is to wrap the block in a check for window.jQuery && jQuery.validator,
or move it into an admin-only script. I'd fix it on master rather than respin the RC.
Hope this helps,
Matt