SAP UI5 数据类型(data type) 使用指南
【摘要】 SAPUI5 中的数据类型用作验证用户输入的机制(例如,“hello”不是订单数量的可接受值),并确保数据在 UI 上被正确格式化和显示(例如将 1234567 显示为 1,234,567 需要时)。当与支持双向绑定的数据模型结合使用时——这是使用它们的最佳方式——数据类型确保模型中的数据只有在用户提供有效值时才会更新。用户输入验证也可以通过在事件处理程序中为每个输入字段编写验证逻辑来完成;...
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()。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)