Пользовательские валидаторы не запускаются для 2-й и последующих строк, созданных с использованием автоматического поля liferay (div class = "lfr-form-row") - PullRequest
0 голосов
/ 16 июня 2019

Я создал форму с 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

Если проверка прошла успешно для первой строки, такая же проверка должна быть выполнена и для последующих строк.

...