Primefaces InputMask可选数字



我正在做一个使用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"/>

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

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

是否有一个好的方法让掩码知道它可以是一个数字或两个数字?或者是否有一种方法,如果输入只有一个数字在前面放一个0

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

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

在您的document.ready函数。这将使_字符保持原样,但我猜您可以在分割字符串并处理每个部分时在代码中处理它。我把表单:因为你通常把这些输入与id表单内的表单。相应地改变!

这也有缺点,如果你没有输入任何东西,它也会被验证,不管是否在1到99之间

相关内容

  • 没有找到相关文章

最新更新