jsf - Primefaces InputMask 可选数字

标签 jsf jsf-2 primefaces

我正在使用 Primefaces 开发一个小项目.

我正在尝试使用特殊格式显示我的数据库中的值 我在我的数据库中存储了一个字符串,它看起来像这样 40;99;1;0;0;12 这些是用 ; 分隔的六个不同数字它们的范围在 0-99 之间。

我想在 InputMask 中显示此值以确保用户不会忘记 ; . 现在我遇到了格式问题。

我在用这个

<p:inputMask id="myID" placeholder="Value" value="#{myClass.value}" mask="9?9;99;99;99;99;99"/>

我想说的是掩码包含六个用于数字输入的“字段”,每个字段可以包含 1-99 之间的数字。

问题是如果用户将输入写为 30;10;0_;0_;0_;4_ Primefaces 将其转换为 30;10;00;04;__;_

有没有什么好的方法让mask知道它可以是一位数或者两位数的数字? 或者有没有办法说,如果输入只有一个数字,请先输入 0

最佳答案

我不知道这个解决方案是否符合您的需求,但您可以定义一个自定义掩码

$.mask.definitions['h'] = "[0-9]{0,1}";
$("#form\\:your_input_mask_id").mask("hh;hh;hh;hh;hh;hh");

在您的 document.ready 函数中。这将使 _ 字符保持原样,但我想您可以在拆分字符串和处理每个部分时在代码中处理它。我放了 form\: 因为您通常将这些输入放在一个带有 id 表单的表单中。相应地改变!

但这有一个缺点,如果您不输入某些内容,它也会验证,无论是否在 1 到 99 之间。

关于jsf - Primefaces InputMask 可选数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39124682/

相关文章:

java - JSF - 无法显示来自 ManagedBean 的对象列表

jsf - EL 调用 remove(int i) 而不是 remove(Object o)

jsf - 如何跳过 p :ajax 中的验证阶段

java - 通过按钮在 JSF 站点之外导航的选项

jsf - 如何让JSF render 严格符合XHTML 1.0?

css - 从 JSF 页面中删除 Primefaces CSS 布局

jsf - 在 JSF 1.2 中通过 EL 调用带参数的方法

javascript - 显示和隐藏功能在 JSF 中不起作用

sockets - 标签库支持命名空间: http://primefaces. org/ui,但未为名称定义标签:套接字

jsf - jsf/primeface 有没有办法下载文件然后更改页面?