JSF h: inputTextarea to HTML textArea - передача атрибута maxlength - PullRequest
1 голос
/ 31 августа 2011

Я использую Richfaces и пытаюсь создать <textArea> с установленным атрибутом maxlength, но JSF, похоже, не передает атрибут maxlength из h: inputTextArea. Есть идеи, почему это происходит?

<h:inputTextarea maxlength="100" cols="20" rows="10" value="#{bean.description}" id="description" />

Ответы [ 3 ]

6 голосов
/ 31 августа 2011

maxlength не существует на h:inputTextarea ( см. Документ ).

Чтобы добавить сообщение для проверки, попробуйте

<h:inputTextarea >
  <f:validateLength maximum="100"></f:validateLength>
</h:inputTextarea>
1 голос
/ 18 июня 2012

Это на самом деле не проблема RichFaces, но касается JSF.На это также ответили лучше раньше.см. ответ @BalusC Как установить атрибут maxlength для h: inputTextarea

1 голос
/ 22 мая 2012

Наше решение заключалось в том, чтобы поместить дополнительный интервал непосредственно перед текстовой областью, содержащей число максимальной длины.

<span class="maxlength">35</span>

Вы даете этому классу "display: none;" Правило, чтобы скрыть это. Затем вы используете JavaScript, чтобы найти каждый span.maxlength и переместить число внутри него в атрибут maxlength текстовой области (используя jQuery):

$('span.maxlength').each(function(){
    $this = $(this);
    $this.next('textarea').attr('maxlength',$this.html());
    $this.remove();
});

Как только это будет сделано, запустите другой JavaScript, который ограничивает набор текста в текстовых областях.

Hacky? Да. Но JSF, не поддерживающий maxlength, является хакером.

...