Primefaces InputMask可选数字

时间:2016-08-24 13:27:20

标签: 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"/>

我试图说面具包含六个&#34;字段&#34;对于数字输入,每个字段可以包含1-99之间的数字。

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

是否有一种好方法让面具知道它可以是一个或两个数字的数字? 或者有一种方法可以说,如果输入只有一个数字,则先输入0

1 个答案:

答案 0 :(得分:1)

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

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

document.ready函数中。这将保留_字符,但我猜你可以在拆分字符串和处理每个部分时在代码中处理它。我已经将表单放在\:因为您通常将这些输入放在具有id形式的表单中。相应地改变!

这有不利之处,如果你不输入东西,它也会验证,无论是否在1到99之间。