トップ 差分 一覧 ソース ヘルプ RSS ログイン

NumberField

NumberField

数値入力用フィールドを提供します<input type='text'>。

NumberFieldは、NumberFormatを使用して、入力文字列を整形、解析、検証します。文字列フォーマットは、setNumberFormat(NumberFormat)メソッドを用いるかsetPattern(String)メソッドで文字列パターンを渡すかで設定できます。

NumberFieldが検証されると、NumberFormatに基づき入力文字列は解析され、フィールド内の文字列の値は整形済みのものになります。

"#,##0"というパターンを指定した場合、ユーザーが"2.54"と入力したら結果はNumber型の3になります。このようなケースではNumberFieldは入力を妥当とし、フィールドを不適切と判断しません。ユーザーが入力した文字列は、検証を外すか、Field.getValue()メソッドを呼ぶことで確認できます。

このコントロールに対し、setNumber(Number)メソッドで値がセットされた場合、このフィールドの値もまた、整形済みの数値になります。getNumber()メソッドが返す値も同様に整形済みの数値です。setNumber()で代入したもともとの値ではありません。この整形を回避するにはsetValue()メソッドを使用してください。

NumberFieldはJavaScriptのonkeypress()メソッドやdoubleFilter()メソッドでユーザーが不適切な文字を入力するのを撥ねます。この数値入力フィルタリングを実施するには、PageImportsをページテンプレートのヘッダーに記述します。

NumberFieldでは、右詰になっています。Field.setTextAlign(String)を参照してください。

W3C HTMLのINPUTに関するリファレンスもあわせて確認してください。