Primefaces InputMask 可选数字
Primefaces InputMask optional digits
我正在使用 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"/>
我想说的是掩码包含六个 "fields" 用于数字输入,每个字段可以包含 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 之间。
我正在使用 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"/>
我想说的是掩码包含六个 "fields" 用于数字输入,每个字段可以包含 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 之间。