【问题标题】:Error mwssage of use laravel-jsvalidation plugin does not work with tinyMCE使用 laravel-jsvalidation 插件的错误 mwssage 不适用于 tinyMCE
【发布时间】:2019-04-06 11:45:02
【问题描述】:

在我的 Laravel 5.7 应用程序中,我使用 laravel-jsvalidation 插件(https://github.com/proengsoft/laravel-jsvalidation/wiki/Basic-Usage) 它工作正常,包括 textarea 输入,如:

<div class="form-row mb-3 {{ in_array('description', $errorFieldsArray) ? 'validation_error' : '' }}">
    <label class="col-xs-12 col-sm-4 col-form-label">Description</label>
    <div class="col-xs-12 col-sm-8">
        {{ Form::textarea('description', isset($vote->description) ? $vote->description : '', [   "class"=>"form-control editable_field textarea_input ", "rows"=>"5", "cols"=> 120, "placeholder"=>"Enter string description in 255 characters.", "id"=>"description", "autocomplete"=>"off"  ] ) }}
    </div>
</div>

但是在我为 textarea 输入添加 tinyMCE 后,我遇到了一个问题,因为需要描述,所以我没有看到错误消息 关于 textarea 输入的验证失败。 tinyMCE 输入的来源比较复杂https://imgur.com/a/nMDq0mY 我不知道如何解决它。 1)如果有办法?

2) 如果 laravel-jsvalidation 插件有一些 javascript 事件方法,比如验证失败?这可能很有用...

谢谢!

【问题讨论】:

    标签: validation laravel-5 tinymce-4


    【解决方案1】:

    当 TinyMCE 被注入页面时,原始表单元素(例如&lt;textarea&gt;)不再可见。如果您使用浏览器工具,您会看到 TinyMCE 注入了一系列&lt;div&gt;s 和一个&lt;iframe&gt;,有效地隐藏了您的&lt;textarea&gt;

    因此,如果您要求验证工具查看 &lt;textarea&gt; 中的值,它可能仍具有您首次加载 TinyMCE 时的初始值。

    为了让您的验证工具验证底层&lt;textarea&gt;,您首先必须使用TinyMCE 的当前内容更新&lt;textarea&gt;。为此,您需要使用 TinyMCE 的 triggerSave() API。这将强制 TinyMCE 立即使用编辑器中的当前值更新底层 &lt;textarea&gt;。届时,您的验证工具将知道编辑器中存在哪些内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      相关资源
      最近更新 更多