For static text use data-validation-text
attribute:
<input name="test" class="form-validate validate-test" data-validation-text="Value is invalid">
In case you're using the Form API, use validationtext
attribute in the field XML:
<field name="test" type="text" class="form-validate validate-test" validationtext="Value is invalid" />
If you need dynamic text based on value, there is no built-in support for this; validation handlers return only boolean
value. You'd have to handle this yourself. One way is to change the data-validation-text
attribute in the handler:
document.formvalidator.setHandler('test', function(value, element) {
if (value.length <=< 5) {
element.dataset.validationText = 'Username must be at least 5 characters';
return false;
}
if (value.length > 20) {
element.dataset.validationText = 'Username must be no more than 20 characters';
return false;
}
return true;
});