簡體   English   中英

Redactor JS-使用BootstrapValidator驗證表單

[英]Redactor JS - validate form using BootstrapValidator

我有一個Rails應用,其中使用Redactor進行富文本輸入。 表單放置在Bootstrap模式中。 我想在用戶鍵入時進行驗證(狀態),如果該字段為空,則顯示驗證錯誤。 我將BootstrapValidator用於驗證部分。 我目前沒有收到關於redactor文本區域的任何驗證消息。

代碼的相關部分如下所示:

= form_for idea, remote: remote, html: {role: :form, "data-model" => 'idea', multipart: true}  do |f|

  # This field  / validation works
  .form-group
    = f.label :title, "Title", :class => "required"
    = f.text_field :title, :class => "form-control"

  # This does not
  .form-group
    = f.label :description, :class => "required"
    = f.text_area :description, :class => "form-control big-text-area redactor"

Javascript如下所示:

:javascript

  $('#new_idea').bootstrapValidator({
    message: 'This value is not valid',

    feedbackIcons: {
      valid: 'fa fa-check-square',
      invalid: 'fa fa-warning',
      validating: 'fa fa-circle-o-notch spin'
    },

    fields: {
      "idea[title]": {
        validators: {
          notEmpty: {
            message: 'The title is required'
          }
        }
      },

      "idea[description]": {
        validators: {
          callback: {
            message: 'The idea description is required',
            callback: function(value, validator) {

              # NOTE: This part of the code never get called                 

              var code = $('[name="idea[description]"]').code();
              return (code !== '' && code !== '<p><br></p>');
            }
          }
        }
      }
    }
  })

  $('.redactor').redactor({

    keyupCallback: function (e) {
      validateEditor();
    }
  });

  function validateEditor() {
    $('#new_idea').bootstrapValidator('revalidateField', "idea[description]");
  };

關於如何使驗證生效的任何想法?

我在使用Redactor時遇到了類似的問題,因此這可能會有所幫助。 就我而言,我在Redactor綁定到的文本區域上有一個更改偵聽器(類似於我認為Bootstrap Validator所做的工作),但是問題是Redactor在原始文本區域上吃了更改事件。 為了解決這個問題,我在初始化Redactor插件時實現了以下內容。

var $mytextarea = $('selector-for-textarea');
$mytextarea.redactor({
    changeCallback: function( html ) {
        $mytextarea.trigger( 'change' );
    } 
});

希望這會有所幫助,歡呼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM