【问题标题】:laravel-jsvalidation package not supporting for wysiwyg editorlaravel-jsvalidation 包不支持所见即所得编辑器
【发布时间】:2020-04-12 12:14:05
【问题描述】:

我在 laravel 表单而不是文本区域中使用所见即所得编辑器 (bootstrap-wysihtml5)。我正在使用laravel-jsvalidation 来验证表单。但不幸的是,我的所见即所得编辑器字段没有进行前端验证。

这是我的文本区号。

{!! JsValidator::formRequest('App\Http\Requests\MyFormRequest') !!}

<input type='text' name='title' />
<textarea name='content' class="textarea" placeholder="Enter text ..." 
style="width: 100%; height: 200px; font-size: 14px; line-height: 18px;"></textarea>

<script>
  $('.textarea').wysihtml5();
<script>

我使用表单请求来验证这一点,这是我的请求类。

class MyFormRequest extends FormRequest {

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules() {
        return [
            "title" => "required",
            "content" => "required",
        ];
    }

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize() {
        return true;
    }

}

Title 字段是完美验证,但不是 js 验证中的 content 字段。如果有人知道该怎么做,那将是一个很大的帮助。 (也没有出现错误)

【问题讨论】:

    标签: laravel laravel-validation


    【解决方案1】:

    经过长时间的检查,我发现了这个问题。与此链接相同的问题 - How to validate wysiwyg editor using bootstrap validation

    发生这种情况所见即所得编辑器隐藏了 textarea 和 jquery 验证 相关 laravel-jsvalidation 不使用隐藏字段。所以我们需要更改代码,例如,

    CSS

    .textnothide {
        display: block !important;
        position: absolute;
        z-index: -1;
    }
    

    JS

    <script>
      $('.textarea').wysihtml5(
          events: {
            load: function () {
                $('.textarea').addClass('textnothide');
            }
        }
      );
    <script>
    

    希望这个问题不是重复的,因为它与 laravel-jsvalidation 相关,并保留答案以防其他人遇到同样的问题。

    【讨论】:

      猜你喜欢
      • 2010-10-09
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多