2017-09-05 92 views
1

我已经写了一些验证textarea的代码,但它不适用于一个CKeditor textarea的多个验证。这是我的代码:parsley.js不验证多个验证

<div id="insdescription" class="col-md-12 input-group" > 
           <textarea type="text" id="insdescription1" name="insdescription" class="form-control" rows="5" data-parsley-errors-container="#insdescription-errors" data-parsley-required-message="Это поле необходимо!" data-parsley-minlength-message="Введите не менее 10 символов!" ><?= $instructors['description']; ?></textarea> 
    <script> 
     CKEDITOR.replace('insdescription1'); 
    </script> 
    </div> 
    <div id="insdescription-errors"></div> 

<script type="text/javascript"> 
        CKEDITOR.on('instanceReady', function() { 
        $('#insdescription1').attr('minlength', '10'); 
        $('#insdescription1').attr('required', '',); 
        $.each(CKEDITOR.instances, function (instance) { 
         CKEDITOR.instances[instance].on("change", function (e) { 
          for (instance in CKEDITOR.instances) { 
           CKEDITOR.instances[instance].updateElement(); 
           $('form').parsley().validate(); 
          } 
         }); 
        }); 
        }); 
       </script> 

实际上,它适用于required =“”验证。但它不适用于最小长度=“10”。这里是屏幕截图img

回答

1

您需要创建自己的欧芹自定义验证器。

事实上,你在证实CKEDITOR等的内容,比如字符串:

1234 

变为:

<p>1234</p> 

而最后的字符串比4长。

自定义验证器可以是:

window.Parsley.addValidator('minTextSize', { 
    validateString: function(_value, minTextSize, parsleyInstance) { 
     if (!window.FormData) { 
      alert('You are making all developpers in the world cringe. Upgrade your browser!'); 
      return true; 
     } 
     var txt = $(_value).text().trim(); 
     return txt.length > minTextSize; 
    }, 
    requirementType: 'integer' 
}); 

等等,你的textarea的将是:

<textarea id="insdescription1" name="insdescription" class="form-control" rows="5" 
    data-parsley-trigger="keyup" 
    data-parsley-min-text-size="10" 
    data-parsley-errors-container="#insdescription-errors" 
    data-parsley-required-message="Это поле необходимо!rrr" 
    data-parsley-min-text-size-message="Введите не менее 10 символов!xxx"></textarea> 

小提琴是here

PS:我在消息结尾处添加了字符,因为我不懂你的语言,我需要测试。

+0

它没有工作:( –

+0

@JavidAbbasov如果我只输入一个字符,我看到的消息,只有当我输入超过10个字符的消息消失时,你测试的小提琴? – gaetanoM

+0

我测试了小提琴,但在我代码它没有工作 –