Reputation: 356
I want to create a new type of aui validator. For example :
<aui:input name="firstName" type="text" maxlength="40">
<aui:validator name="required" />
<aui:validator name="alpha" />
</aui:input>
the alpha validator does not accept the space character, i want to use a type that accepts alpha characters plus the space character, i have already a solution using javascript to use a custom validator, but i want to define a new validator type to use like the others by invoking the validator tag e.g :
<aui:validator name="myValidator" />
Is that possible ?! and how can i do it ;)
Upvotes: 0
Views: 3431
Reputation: 77
As an alternative to Parkash answer, you can make a separate jspf file and write your validations like this:
<aui:script use="liferay-form">
var ns = '<portlet:namespace/>';
window.onload = function() {
var form = Liferay.Form.get(ns+'form_add_user');
form.set(
'fieldRules',
[
{
fieldName: ns+'middlename',
validatorName: 'custom_middlename',
custom: true,
errorMessage: 'Only text and spaces here!',
body: function(value, field, rule)
{
return /^[a-zA-Z\s\.\u00E0-\u00FC]+$/.test(value);
}
},
...
]
);
}
</aui:script>
Found in Liferay 7.0 documentation
Upvotes: 0
Reputation: 4730
Try your luck on it :)
<aui:input name="firstName" type="text">
<aui:validator name="myValidator" errorMessage="numbers-not-allowed">
function(val, fieldNode, ruleValue){
var matches = val.match(/\d+/g);
if(matches != null)
return false;
else
return true;
}
</aui:validator>
</aui:input>
Upvotes: 1