手机版

当前位置:主页 > 云主机 > 云安全资讯 >

亚马逊云_weblogic服务器_免费1年

时间:2021-09-28 16:22:43|来源:欧普曼云|编辑:欧普曼云|点击:

亚马逊云_weblogic服务器_免费1年

SAPUI5中的数据类型被用作验证用户输入的机制("例如,hello"不是订单数量的可接受值),还可以确保数据在UI上正确格式化和显示(如需要时将1234567显示为1234567)。当与支持双向绑定的数据模型(这是使用它们的最佳方式)结合使用时,数据类型确保仅当用户提供有效值时,模型中的数据才会得到更新。

用户输入验证也可以通过在事件处理程序中为每个输入字段编写验证逻辑来完成;格式化显示的值可以通过在任何显示值的地方编写和使用格式化程序来完成。但是,正如您已经猜到的,这种方法的扩展性不好,并且随着应用程序的增长,维护使用这种方法进行的开发所需的工作量会很快增加。

SAPUI5框架附带了一些可以在应用程序中使用的常用数据类型。其中包括布尔值、日期和浮点值。可以通过指定约束和格式选项来调整使用数据类型的绑定的行为。约束(如Float的minimum和maximum)可用于限制被认为有效的值的范围。任何违反约束的用户输入都将被视为无效输入,并且模型中相应的路径将不会更新。另一方面,格式选项用于配置特定值在UI上的显示方式(如groupingSeparator和小数分隔符)。在显示之前,模型中相应路径上的值将根据类型的格式选项进行格式设置。此外,淘客网店推广平台,用户还可以输入带格式(如12345)或不带格式(12345)的输入–这两种输入都被认为是有效的。

对于大多数要求,使用标准数据类型(sap.ui.model模型.type.*)具有适当的约束和格式选项就足够了。但是有些需求(比如我们将在本文后面讨论的示例)不能满足标准数据类型的约束。在这些情况下,我们需要开发自己的数据类型。现在我们来看看创建自定义数据类型的所有步骤,以及一个示例—处理信用卡号码的自定义数据类型。

要开始创建自定义数据类型,我们扩展sap.ui.model模型.SimpleType类并重写SimpleType父类–parseValue中定义的3个方法,validateValue和formatValue

此方法接收用户的输入作为参数。此方法的任务是将用户的值(外部值)转换为值(内部值)的适当内部表示形式。在我们的信用卡号示例中,一个可能的实现是将用户的输入"4556-2364-5346-4444"转换为不带连字符"4556236453464444"的内部表示。当我们开始实现另外两个方法之一–validateValue

时,这样做的用途就变得很明显了。这个方法接收解析的值(即,由parseValue方法确定的值的内部表示),云产品,并且必须决定值是否有效。如果输入被确定为无效,则类型为sap.ui.model模型.ValidateException应该从这个方法中抛出。

这个方法接收解析的值(内部值)作为参数,并且必须返回格式化的值(即对应的外部值)。这个格式化的值显示在UI上。

在我们开始实现我们的自定义数据类型之前,让我们快速了解一下框架究竟何时调用这3个方法中的每一个。我们从图中看到,框架触发这3个方法的顺序是parseValue()->validateValue()->formatValue()。

对于我们的示例,我们将使用正则表达式删除用户输入中存在的任何连字符,并将结果作为解析值返回(作为一个数字字符串)。若要向框架指示无法解析输入(例如,尝试将字符串"hello"解析为日期),请抛出类型为的异常sap.ui.model模型.ParseException–在我们的示例中我们不这样做。

为了验证我们是否处理的是有效的信用卡号,我们将实现Luhn算法在我们的validateValue方法中。为了告诉框架验证失败,我们提出了sap.ui.model模型.ValidateException接近方法末尾。

要格式化通过parseValue方法获得的内部值(16位字符串),我们在每4个数字后添加一个连字符,并从该方法返回新字符串(因此"12341234112341234"变为"1234-1234-1234-1234")。然后为输入字段的'value'属性设置此值,并在UI上可见。

现在我们的自定义数据类型就绪,我们继续将输入字段绑定到JSONModel中的路径(您也可以将其与其他模型类型一起使用),大数据共享平台,并为属性绑定指定类型。

让我们连接到MessageManager并请它为我们实际向用户显示错误消息。这在UI5 Demokit(OpenUI5 SDK–Demokit)中有记录

您对此帖子有什么反馈吗?或者围绕它展开讨论?继续发表评论。

谢谢分享这个博客,Pritin,同时,淘客佣金,添加Luhn的参考也增加了很多价值,微信返利机器人安全吗,因为我认为一些没有处理这些规则的人知道CC如何被验证的背景,也取决于CC的类型,哪些值被认为是正确的或不正确的。

我也喜欢这个部分你在博客中加入了MessageManager,这是一个不错的补充。很好的分享!

非常好!我喜欢有人对某个特定主题进行更细致的研究,而这些细节在普通材料中往往被"掩盖"了。谢谢,继续写博客!

Copyright © 2020-2021 深圳市飞博可科技有限公司 版权所有 备案号:粤ICP备17063389号