这在我的应用程序中不起作用。它仍然接受数字。
<p:inputText id="Name" value="#{dependbean.name}" maxlength="30">
<pe:keyFilter mask="alpha"></pe:keyFilter>
</p:inputText>
将
<pe:keyFilter>
移到 <p:inputText>
之外,并使用 for
属性指向哪个组件是为其定义的过滤器。
<p:inputText id="Name" value="#{dependbean.name}" maxlength="30" />
<pe:keyFilter mask="alpha" for="Name" />
尝试
<p:inputText id="Name" value="#{dependbean.name}" maxlength="30">
<pe:keyFilter regex="/[ABC]/i"></pe:keyFilter>
</p:inputText>
确保在文件开头添加了元素
<html ...
xmlns:pe="http://primefaces.org/ui/extensions">
如果仍然不起作用,请确保 pom.xml 文件具有来自 primefaces 扩展的依赖项。 如果没有,请将其添加到标签之间的 pom:
<!-- https://mvnrepository.com/artifact/org.primefaces.extensions/primefaces-extensions -->
<dependency>
<groupId>org.primefaces.extensions</groupId>
<artifactId>primefaces-extensions</artifactId>
<version>6.0.0</version>
</dependency>
它应该适用于:
xmlns:p="http://primefaces.org/ui"
和:
<p:inputText id="phone"
...
>
<p:keyFilter mask="num"/>
</p:inputText>
尝试从
here添加
jquery.keyfilter.js
在您的 JS 文件夹中。
然后将其添加到您的 JSF 页面:
<script type="text/javascript" src="#{facesContext.externalContext.requestContextPath}/js/jquery.keyfilter.js"></script>