停止在 Oracle ADF 的 af:inputText 组件中键入句点 (.)
Stop period (.) from being typed in af:inputText component in Oracle ADF
我遇到一个问题,在 jsff 页面上,我们有一个 af:inputText 组件,我们需要限制用户只能在该组件中键入(0-9 和一个 - 符号)。这必须在用户键入时完成,而不是将焦点更改为触发验证的其他 UI 组件。到目前为止,我已经尝试了以下方法,但无法解决这个问题。
1)使用javascript->https://blogs.oracle.com/jdevotnharvest/sample-code:-how-to-prevent-character-input-in-a-rich-inputtext-field
2) 使用 f:convertNumber 和 af:convertNumber 使 maxFractionDigits 和 minFractionDigits 为 0,但它仍然接受 .
3) 使用转换器的 af:inputText 属性 并将其设置为 javax.faces.Integer 以仅接受整数,但仍然可以输入 .(period)
4) 使用 af:validateRegExp 并使用以下正则表达式 [0-9]{1,4}
任何 ADF 专家请提供此问题的任何已知解决方案,而无需在页面本身上使用 javascript。
如果您需要在用户键入时阻止它,那么 Javascript 解决方案是唯一的方法。
在您指向的博客中,哪些内容对您不起作用?
我遇到一个问题,在 jsff 页面上,我们有一个 af:inputText 组件,我们需要限制用户只能在该组件中键入(0-9 和一个 - 符号)。这必须在用户键入时完成,而不是将焦点更改为触发验证的其他 UI 组件。到目前为止,我已经尝试了以下方法,但无法解决这个问题。
1)使用javascript->https://blogs.oracle.com/jdevotnharvest/sample-code:-how-to-prevent-character-input-in-a-rich-inputtext-field
2) 使用 f:convertNumber 和 af:convertNumber 使 maxFractionDigits 和 minFractionDigits 为 0,但它仍然接受 .
3) 使用转换器的 af:inputText 属性 并将其设置为 javax.faces.Integer 以仅接受整数,但仍然可以输入 .(period)
4) 使用 af:validateRegExp 并使用以下正则表达式 [0-9]{1,4}
任何 ADF 专家请提供此问题的任何已知解决方案,而无需在页面本身上使用 javascript。
如果您需要在用户键入时阻止它,那么 Javascript 解决方案是唯一的方法。 在您指向的博客中,哪些内容对您不起作用?