我用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>
==========================
新的Liferay.AutoFields({ contentBox:'#data-fields', fieldIndexes:'dataIndexes' })。render(); Liferay.provide(窗口,'clickOK',function(){
}, [ 'aui-io' ]); //End of Provide
如果第一行的验证成功,则随后的行也必须执行相同的验证。