@sasha_jarvi

Как прикрутить jQuery Validate к textarea, являющуюся CKEditor 5?

Имеется следующий код для формы, отправляющей e-mail:

$(document).ready(function () {
  const form = $('.form-block__email-form');
  const emailTextarea = $('.form__text');
  let emailTextEditor;

  ClassicEditor
    .create(document.querySelector( '#emailText'))
    .then(editor => {
      emailTextEditor = editor;
    } )
    .catch(error => {
      console.error(error);
    });

  form.validate({
    rules: {
      emailRecipients: {
        required: true,
        email: true
      },
      emailText: {
        
      }
    },
    messages: {
      emailRecipients: {
        required: "Пожалуйста, введите e-mail",
        email: "Пожалуйста, введите e-mail в корректном формате"
      },
      emailText: {
        required: "Пожалуйста, введите текст письма"
      }
    }
  });
});


К полям ввода e-mail и текста письма решил прикрутить валидацию с помощью jQuery Validate. Однако неясно, как прикрутить валидацию к полю ввода текста письма, если учесть, что оно является CKEditor'ом. Попробовал сделать через emailTextEditor.updateSourceElement(), но это не сработало. Как добавить правило required к указанному полю ввода?

Код полностью: https://jsfiddle.net/sasha_jarvi/8hj6zdbp/
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
элементарно ватсон, в твоей библиотеке написано что выбираются все не скрытые поля, редактор скрывает textarea значит вещаешь событие на submit и переносишь туда код валидации, а перед ней сделай видимым поле textarea и после проверки скрой обратно или еще лучше размести его за экраном - position absolute + top: -5000px;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы