SAP UI5 数据类型(data type) 学习笔记

简介: 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()。

相关文章
|
2月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
29 0
|
2月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
17 0
|
2月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0
|
2月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
33 0
|
2月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
31 0
|
2月前
|
搜索推荐
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版
19 0
|
2月前
|
开发者 UED
SAP UI5 SmartFilterBar 中 ControlConfiguration Aggregation 的作用介绍
SAP UI5 SmartFilterBar 中 ControlConfiguration Aggregation 的作用介绍
15 0
|
23天前
|
存储 安全 数据库
SAP ABAP 中数据类型 xstring 的使用介绍
SAP ABAP 中数据类型 xstring 的使用介绍
20 0
|
2月前
|
开发者 UED
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
15 0
|
2月前
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
15 0