Jsf Primefaces输入掩码可选数字

Jsf Primefaces输入掩码可选数字,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我正在使用Primefaces进行一个小项目 我试图用特殊的格式显示数据库中的值 我在数据库中存储了一个字符串,它看起来像40;99;1.0;0;12 这是六个不同的数字,用分隔并且它们的范围在0-99之间 我想在InputMask中显示该值,以确保用户不会忘记。 现在我对格式有一个问题 我在用这个 我想说的是,掩码包含六个数字输入的“字段”,每个字段可以包含一个1-99之间的数字 问题是,如果用户将输入写入此30;10;0_;0_;0_;4Primefaces将其转换为30;10;00;04

我正在使用
Primefaces
进行一个小项目

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

我想在InputMask中显示该值,以确保用户不会忘记
。
现在我对格式有一个问题

我在用这个

我想说的是,掩码包含六个数字输入的“字段”,每个字段可以包含一个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");
文档中。就绪
功能。这将使
\uu
字符保持原样,但我想在拆分字符串并处理每个部分时,您可以在代码中处理它。我之所以使用表单\:是因为您通常将这些输入放入带有
id
form的表单中。相应地改变


但这也有缺点,如果不输入内容,它也会进行验证,而不管是否在1和99之间。

在使用相同语法的jquery插件中,您可以定义
[9]
,但在未正确渲染的素面中。它不明白。谢谢你的回答。我试过了,但没用。我想它找不到元素$(#myForm:myElementID”).mask(“hh;hh;hh;hh;hh;hh;hh”);检查html代码,确保元素具有正确的id,并检查此javascript是否实际运行,没有任何异常。还请注意,您需要在:之前加\\,以便“转义”并理解id。只需再加一个。我忘了说它在一个面板内&panegrid。我是否还需要给主题一个ID以及如何调用它们?您必须看到生成的组件ID。如果它生成了一个随机id,那么你也必须给它的父组件一个id。现在它的工作原理是50%,它正确地设置了掩码,但仍然可以输入字母或其他数字,而不是数字。我怎样才能解决这个问题