Jerryの記事で紹介されたコードによると、実行sap.ui.model.type.Currency
後、number
型のフィールドに非型の値を設定した後、データ型に付属するデータ検証メカニズムをトリガーしEnter a number
、のます。
SAPUI5アプリケーション開発チュートリアルNo.46-メッセージマネージャーを使用して、すぐに使用できる検証情報のスローを実装する
デバッグエントリはCompositeBinding.prototype.setExternalValue
関数。
if (this.oType) {
pValues = SyncPromise.resolve().then(function() {
var aCurrentValues;
if (that.oType.getParseWithValues()) {
aCurrentValues = that.getCurrentValues();
}
return that.oType.parseValue(oValue, that.sInternalType, aCurrentValues);
outputFormatの具体的な実装は次のとおりですNumberFormat
。
NumberFormatは、一連のフォーマットオプションに従って数値をフォーマットおよび解析するための静的クラスです。
データフォーマットはSAPUI5の重要な機能の1つであり、アプリケーションがユーザーロケールに従ってデータを表示できるようにします。このために、SAPUI5は、ロケール固有のスキーマを提供するサードパーティライブラリであるCommon Locale Data Repository(CLDR)を使用します。SAPUI5はこれらのパターンを使用して、さまざまな言語の規則に対応します。
データフォーマットのユースケースの1つは、金銭情報を含む数値をフォーマットおよび解析する機能です。この特定のユースケースでは、CLDRは、さまざまな通貨の小数点以下の桁数など、事前構成された通貨情報をスキーマに提供します。カスタム通貨は、新しいカスタム通貨を追加したり、既存の通貨を再構成したりして定義することもできます。
整数値に一致する正規表現はsRegExpInt
、。^\s*([\+\+⁺₊➕﬩﹢+\-\-‐‒–⁻₋−➖﹣-]?[0-9,]+)\s*$
正規表現の検証に失敗しました:
したがってParserException
、例外ます:
ライブラリリソースバンドルEnterNumber
からEnter a number
::
NumberFormatに関するその他の例:
// "NumberFormat" required from module "sap/ui/core/format/NumberFormat"
var oCurrencyFormat = NumberFormat.getCurrencyInstance({
currencyCode: false
});
oCurrencyFormat.format(1234.567, "USD"); // returns $1,234.57
oCurrencyFormat.format(1234.567, "JPY"); // returns ¥1,235
oCurrencyFormat.parse("$1,234.57"); // returns [1234.57, "USD"]
oCurrencyFormat.parse("¥1,235"); // returns [1235, "JPY"]
通貨フォーマットには、次のフォーマットオプションを使用できます。
-
currencyCodeshowMeasureがtrueに設定されている場合にコードまたは記号を使用するかどうかを定義します。
-
trailingCurrencyCodeロケールに関係なく、金額の後に通貨コードを常に表示するかどうかを定義します。
-
currencyContextは、通貨番号をフォーマットするためのスキーマを定義します。標準(デフォルト)またはアカウンティングに設定できます。