gpt4 book ai didi

validation - 如何在 h :inputTextarea 上设置 maxlength 属性

转载 作者:行者123 更新时间:2023-12-03 11:09:23 24 4
gpt4 key购买 nike

如何限制 <h:inputTextarea> 的长度?对于 <h:inputText>它适用于 maxlength属性。但是,此属性在 <h:inputTextarea> 中不可用。 .

最佳答案

HTML5 + JSF 2.2+

如果您使用 HTML5 和 JSF 2.2+,请将其指定为 passthrough attribute .

<html ... xmlns:a="http://xmlns.jcp.org/jsf/passthrough">

<h:inputTextarea value="#{bean.text}" a:maxlength="2000" />

HTML5 + JSF 2.0/2.1

如果您使用的是 HTML5,但还不是 JSF 2.2,请使用 OmniFaces Html5RenderKit 在 JSF 2.0/2.1 中识别新的 HTML5 属性。

<h:inputTextarea value="#{bean.text}" maxlength="2000" />

HTML4

如果您使用的是 HTML4,则 HTML 本身已经不支持它。仅支持 <input>元素,不在 <textarea>元素。这也是为什么此 HTML 元素的 JSF 表示上没有此类属性的原因。您需要在客户端使用 JS 和/或在服务器端使用 JSF 解决此需求。 JS 使您能够立即验证长度并忽略所有其他字符。 JSF 还允许您在客户端禁用或破解 JS 代码的情况下对其进行验证。最好是两者结合。

假设你有一个

<h:inputTextarea value="#{bean.text}" styleClass="max">
<f:validateLength maximum="2000" />
</h:inputTextarea>

这是你如何做 jQuery
$('textarea.max').keyup(function() {
var $textarea = $(this);
var max = 2000;
if ($textarea.val().length > max) {
$textarea.val($textarea.val().substr(0, max));
}
});

关于validation - 如何在 h :inputTextarea 上设置 maxlength 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4923573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com