当前位置: 首页 > Web前端 > JavaScript

SAPUI5数据类型(数据类型)学习笔记

时间:2023-03-27 12:40:06 JavaScript

SAPUI5中的数据类型用作验证用户输入的机制(例如,“hello”不是订单数量的可接受值)并确保数据被格式化在UI和显示上正确显示(例如,在需要时将1234567显示为1,234,567)。当与支持双向绑定的数据模型结合使用时——这是使用它们的最佳方式——数据类型确保模型中的数据仅在用户提供有效值时更新。用户输入验证也可以通过在事件处理程序中为每个输入字段编写验证逻辑来??完成;显示的值可以通过在任何显示值的地方编写和使用格式化程序来格式化。但显然,这种方法不可扩展——随着应用程序的增长,使用这种方法完成开发所需的维护工作量会迅速增加。SAPUI5框架带有一些可以在应用程序中使用的常见数据类型。这些包括布尔值、日期和浮点数。您可以通过指定约束和格式化选项来调整使用数据类型的绑定的行为。约束,例如Float的最小值和最大值,可用于限制被认为有效的值的范围。任何违反约束的用户输入都被视为无效,并且模型中的相应路径将不会更新。另一方面,指定格式选项以配置特定值在UI上的显示方式(例如浮点数的groupingSeparator和decimalSeparator)。模型中路径对应的值在显示之前根据类型的格式化选项进行格式化。此外,用户可以输入带格式(如12,345)或不带格式(12345)的输入,这两种输入都被认为是有效的。下图显示了SAPUI5标准Integer数据类型的用法及其在XML视图中的约束:HowtocreateaSAPUI5customdatatype?要开始创建自定义数据类型,我们扩展sap.ui.model.SimpleType类并覆盖SimpleType父类中定义的3个方法-parseValue、validateValue和formatValue.parseValue(sExternalValue)此方法接收用户输入作为参数。该方法的工作是将用户的输入值(外部格式)转换为该值的合适的内部表示(内部格式)。validateValue(sInternalValue)该方法接收解析后的值(即parseValue方法确定的值的内部表示),必须判断该值是否有效。如果确定输入无效,则应在该方法中抛出类型为sap.ui.model.ValidateException的异常。formatValue(sInternalValue)该方法接收解析后的值(内部值)作为参数,必须返回格式化后的值(即对应的外部值)。此格式化值显示在UI上。在我们开始实现我们的自定义数据类型之前,让我们快速看一下框架何时调用这3个方法中的每一个。从图中我们可以看出,框架触发这三个方法的顺序是parseValue()->validateValue()->formatValue()。