Как ограничить редактор, чтобы вставить только 2000 символов?

#javascript #jquery #jsf #ckeditor #ckeditor4.x

Вопрос:

Я интегрировал CKEditor в свой файл JSF. Мне нужно разрешить только 2000 символов в редакторе, но при вставке требуется более 2000 символов. Как я могу ограничить использование редактора только 2000 символами?

Комментарии:

1. Ты не можешь. По крайней мере, ненадежно. Браузеры НЕ имеют доступа к буферу обмена пользователя без его разрешения. Таким образом, вы не можете посчитать символы там, прежде чем они уже будут вставлены в ваш редактор. Вы можете прикрепить обработчик событий для подсчета символов внутри редактора после вставки и просто удалить все после подсчета 2000. Но JS по — прежнему остается клиентской стороной. Легко можно снять свое ограничение и сойти с ума. Надежная проверка должна быть выполнена на стороне сервера, несмотря ни на что.

2. как мы можем реализовать проверку на стороне сервера?

3. Так же, как вы проверили бы любое свойство в JSF

Ответ №1:

Если вы еще этого не сделали, вы можете использовать библиотеку расширений PrimeFaces, которая содержит pe:ckEditor компонент. Вы можете просто добавить f:validateLength к нему валидатор, например:

 <pe:ckEditor ...>
  <f:validateLength maximum="2000"/>
</pe:ckEditor>