orchidsoftware/platform

SimpleMDE Field Incorrectly Marked as Empty When Using `required` Attribute

Open

#2,877 创建于 2024年8月18日

在 GitHub 查看
 (1 评论) (0 反应) (1 负责人)PHP (629 fork)batch import
Fieldshelp wanted

仓库指标

Star
 (4,045 star)
PR 合并指标
 (平均合并 3天 18小时) (30 天内合并 4 个 PR)

描述

Describe the bug When creating a markdown text editor using the SimpleMDE::make('editor')->required() method, the required attribute is automatically added to the underlying CodeMirror instance. This causes side effects, such as the field appearing empty if it hasn't been manually edited or when content is added via copy-paste. As a result, the form cannot be submitted, even though the field is technically filled.

To Reproduce Steps to reproduce the behavior:

  1. Create a markdown editor field using SimpleMDE::make('editor')->required().
  2. Attempt to submit the form without manually editing the editor content.
  3. Observe that the form submission is blocked due to the field being considered empty.
  4. Copy and paste content into the editor and attempt to submit again. The same issue occurs.

Expected behavior The form should be able to be submitted if the markdown editor field contains content, regardless of whether the content was manually typed or added via copy-paste.

Additional context This issue seems to stem from the fact that the required attribute is being passed to the CodeMirror instance instead of just validating the presence of content in the underlying text area. One potential solution could be to manage the required validation via a custom validation rule in Laravel, rather than directly attaching it to the CodeMirror field.

https://github.com/orchidsoftware/platform/blob/357283ffad0868a7622b1ed3f6e4512ef4f24185/resources/js/controllers/simplemde_controller.js#L152-L155

贡献者指南