首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >parsley.js不验证多个验证

parsley.js不验证多个验证
EN

Stack Overflow用户
提问于 2017-09-05 20:21:00
回答 1查看 609关注 0票数 1

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

代码语言:javascript
复制
<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="“验证。但它不适用于minlength="10“。这是截图

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-05 21:16:24

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

实际上,您正在验证CKEDITOR的内容,例如,字符串:

代码语言:javascript
复制
1234

变成:

代码语言:javascript
复制
<p>1234</p>

最后一根弦大于4。

自定义验证程序可以是:

代码语言:javascript
复制
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'
 });

因此,您的文本区域将是:

代码语言:javascript
复制
<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>

小提琴是这里

PS:因为我不懂你的语言,所以我在你的留言末尾加上了字符,我需要测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46062804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档