Я создал форму с div class = "lfr-form-row lfr-form-row-inline", который позволяет добавлять несколько строк.Для каждого поля я написал собственную функцию валидатора вместе со встроенными валидаторами.Валидации работают нормально для первой строки, однако для последующих строк пользовательские функции валидатора не вызываются.
Пользовательские валидаторы вызываются только для первой строки, созданной с использованием class = "lfr-form-row"
JSPкод
<div class="lfr-form-row lfr-form-row-inline field-wrapper col-md-12">
<div class="row-fields">
<aui:row>
<aui:column cssClass="field-wrapper col-md-2">
<aui:input fieldParam='labelName0' id='labelName0' name="labelName0"
label="Label Name" cssClass="textClass">
<aui:validator name="maxLength" errorMessage="Label Name can be max upto 50 chars">50</aui:validator>
<aui:validator name="custom"
errorMessage="No special characters are allowed">
function (val, fieldNode, ruleValue)
{
var regex = /^[A-Za-z0-9]+$/;
var isValid = regex.test(val);
if (!isValid) {
} else {
}
return isValid;
}
</aui:validator>
</aui:input>
</aui:row>
</div>
</div>
==================================
new Liferay.AutoFields ({contentBox: '# data-fields', fieldIndexes: 'dataIndexes'}). render ();Liferay.provide (window, 'clickOK', function () {
}, [ 'aui-io' ]); //End of Provide
Если проверка прошла успешно для первой строки, такая же проверка должна быть выполнена и для последующих строк.