ユーザーがprimefaces入力テキストに無効な金額を入力することを制限したい。最大整数および小数桁の長さは、実行時に既知です。私はJavaScriptの正規表現を使用してこれを達成しようとしています。
var pattern =/^\d{0,3}?[\.]?\d{1,3}$/;
if (pattern.test(amount)) {
return true;
}else {
console.log('rgx Failed');
return false;
}
この例では、最大整数と小数部の長さとして3を考慮しています。
整数部分の長さは0〜3で、小数部分は少なくとも1桁、最大3である必要があります。ただし、上記のJavaScriptは機能せず、整数部分で7桁を許可しています。
inputText onKeyDownイベントを使用してこのスクリプトを呼び出しているので、キーが押されるたびにチェックし、有効な量のみを入力するように制限できます。
有効な金額:123.123、12.1、1.12、.123、1.3、.1234など無効な金額:123。、1234など