SAP UI5 数据类型(data type) 学习笔记
SAPUI5 中的数据类型用作验证用户输入的机制(例如,“hello”不是订单数量的可接受值),并确保数据在 UI 上被正确格式化和显示(例如将 1234567 显示为 1,234,567 需要时)。当与支持双向绑定
的数据模型结合使用时——这是使用它们的最佳方式——数据类型确保模型中的数据只有在用户提供有效值时才会更新。
用户输入验证也可以通过在事件处理程序中为每个输入字段编写验证逻辑来完成;可以通过在任何显示值的地方编写和使用格式化程序来格式化显示的值。 但显然,这种方法不具备可扩展性——随着应用程序的增长,维持使用这种方法完成的开发所需的工作量会迅速增加。
SAPUI5 框架附带了一些可以在应用程序中使用的常用数据类型。 这些包括布尔值、日期和浮点数。 可以通过指定约束和格式选项来调整使用数据类型的绑定的行为。 约束(如 Float 的最小值和最大值)可用于限制被认为有效的值的范围。 任何违反约束的用户输入都被认为是无效输入,模型中的相应路径将不会被更新。 另一方面,指定格式选项以配置特定值应如何在 UI 上显示(如 Float 的 groupingSeparator 和 decimalSeparator)。 模型中对应路径的值在显示前会根据类型的格式选项进行格式化。 此外,用户还可以输入带格式(如 12,345)或不带格式(12345)的输入,这两者都被认为是有效的。
下图是 SAP UI5 标准的 Integer
数据类型及其 constraints
在 XML 视图中的用法:
如何创建一个 SAP UI5 自定义数据类型?
为了开始创建自定义数据类型,我们扩展了 sap.ui.model.SimpleType
类并覆盖了 SimpleType
父类中定义的 3 个方法——parseValue、validateValue 和 formatValue.
parseValue(sExternalValue)
该方法接收用户的输入作为参数。 该方法的工作是将用户的输入值(外部格式)转换为值的合适的内部表示(内部格式)。
validateValue(sInternalValue)
此方法接收解析的值(即,由 parseValue 方法确定的值的内部表示)并且必须确定该值是否有效。 如果确定输入无效,则应在此方法中抛出 sap.ui.model.ValidateException 类型的异常。
formatValue(sInternalValue)
该方法接收解析后的值(内部值)作为参数,并且必须返回一个格式化的值(即对应的外部值)。 此格式化值显示在 UI 上。
在我们开始实现我们的自定义数据类型之前,让我们快速看看框架何时调用这 3 个方法中的每一个。 从图中我们可以看出,框架触发这3个方法的顺序是parseValue() -> validateValue() -> formatValue()。
相关文章
- SAP UI5 sap.ui.base.ManagedObject 的构造函数参数讲解
- SAP UI5 sap.ui.Device.media.initRangeSet 方法的单步调试
- 通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
- SAP UI5 sap.m.Table 实现响应式布局的两种配置模式
- 深入比较:SAP vs Oracle(sap和oracle)
- SAP中类型(Type)和类别(Category)详解及其区别编程语言
- SAP ABAP-获取屏幕数据详解编程语言
- SAP 物料在启用序列号管理或者不启用序列号管理之间快速切换详解编程语言
- SAP最常用的业务流程事务代码详解编程语言
- SAP系统权限管理及参数设置详解编程语言
- SAP S/4HANA BP功能详解编程语言
- SAP笔记-LSMW 导入工具 录屏问题详解编程语言
- SAP 屏幕逻辑流详解编程语言
- Oracle与SAP在仓储领域的联姻(仓库oracle和sap)
- 深度比较:SAP vs Oracle(sap与oracle比较)
- Oracle和SAP技术比较优势和劣势(oracle与sap比照)
- Oracle SAP系统深入探索管理系统之魅力(oracle sap系统)
- 使用Oracle与SAP进行数据接口开发(oracle sap接口)
- 探索 Oracle 与 SAP 技术的开发可能性(oracle sap开发)