用于验证数据的函数

已完成

让应用对于用户来说更加动态和直观的另一种方式是使用包括 IsBlankIsBlankOrErrorIsEmptyIsNumericIsTodayIsMatch 在内的验证函数。 这些函数可用于验证字段、控件、变量或表的条件。 所有这些函数均根据计算结果返回布尔值(truefalse)。 这些函数通常与 IfSwitch 函数一起使用来为用户生成消息/选项。

例如,如果字段为空白或字段数据与特定格式不匹配,您不希望允许用户提交窗体,则可以使用这些函数。

数字输入验证简介

我们来考虑一个示例。 假设我们有两个控件:一个文本输入控件,其默认值为空,在它下方还有一个文本标签控件,我们已在其中的 Text 属性中输入了一个公式。 我们将在标签的 Text 属性中,将 IsNumeric 测试与 If 语句配合使用。 通过修改“标签”控件的 Text 属性,我们可以生成不同的输出。

请仔细查看下图 Text 属性中的 If 语句。 它指示我们的标签控件显示不同的文本输出,具体取决于 IsNumeric 对文本输入字段中输入的任何内容进行的验证。

使用 If(IsNumeric) 条件的标签 Text 属性的屏幕截图。

如果我们将应用置于预览 模式,可以在输入字段中输入任何文本,而下面的标签会继续要求输入一个数字:

在文本输入字段中输入文本的屏幕截图,所示文本显示“请在上方输入数字”。

但如果我们输入任意数字,标签的消息将发生更改:

在文本输入字段中输入数字 45.7 的屏幕截图,所示文本显示“您已输入数字!”。

提示

您还可以将 Not(或 !)运算符与其中的任何函数配合使用。 例如,IsBlank 测试适用于空白 条件,而 !IsBlank 测试适用于非空白 条件。

在应用中使用验证函数可帮助您影响用户输入以及与应用的整体交互。

可用的验证函数

下面概述了可在 Power Apps 中使用的一些验证函数(提醒一下,输出始终为 truefalse):

  • IsBlank - 检查字段、属性或变量,以查看结果是否为空白 或空字符串。

  • IsBlankOrError - 检查表达式是否为空白或结果错误。

  • IsEmpty - 检查数据表,以查看是否包含任何记录。

  • IsError - 测试是否存在错误值。

  • IsMatch - 检查文本字符串,以确定结果是否与指定模式匹配。 例如,您可以使用此函数测试条目是否为有效的电子邮件或电话号码。

  • IsNumeric - 检查字段、属性或变量,以确定值是否为数值(如上面的示例所示)。

  • IsToday - 检查日期或时间值,以查看它是否介于本地时间今天午夜与明天午夜之间。

  • IsUTCToday - 类似于 IsToday,但它使用协调世界时 (UTC),而不是本地时间,并且不受时区的影响。

  • Not()! 函数可以在进行任何这些验证之前使用以验证相反的情况。 例如,!IsBlank 可检查以确保该值不为空。 (如果参数为 falseNot 将返回 true。)

IsMatch 示例

让我们再看一个有关 IsMatch 函数的示例。 如果没有在文本输入控件中输入有效的电子邮件地址,我们将使用此函数来禁用 按钮。 电子邮件 是一种易于使用的预定义模式。 但请记住,它只会查找模式不会 验证电子邮件地址是否确实有效。 所以,让我们来使用演示应用执行以下操作:

注意

完成上述步骤的过程中,如果公式返回错误,请注意,Power Apps 环境(或本地化)的语言设置可能会对某些分隔符和运算符产生影响。 例如,Text(ThisItem.Price, "$ ##.00") 公式适用于以点或句点为小数分隔符的语言和地区(如日本或英国)。 但是,在以逗号为小数分隔符的语言和地区(如法国或西班牙),此公式将变为:Text(ThisItem.Price; "$ ##,00")

ThisItem.Price 中的属性选择运算符(点或句点)始终相同,不受小数分隔符的影响;但请注意,小数分隔符和链接运算符将分别变为逗号和分号。 公式的内部不会改变,只是作者显示和编辑它的方式会改变。

  1. 文本输入控件插入到画布中。 删除文本输入,使 Default 属性变为空白。 重命名您的控件:tiEmailEntry

  2. 在文本输入字段下方添加一个按钮控件。

  3. 按钮控件的 DisplayMode 属性修改为以下公式:

    If(IsMatch(tiEmailEntry.Text, Match.Email), DisplayMode.Edit, DisplayMode.Disabled)
    

    使用电子邮件 匹配公式,Power Apps 将通过以下模式测试输入字段中的文本值:一个字母数字字符串,后跟 @ 符号、另一个字母数字字符串和句号 (.),并以一个多字母字符串结尾。 如果输入字符串与指定的模式不匹配,按钮将保持“禁用”模式,用户将无法与之交互。 让我们测试一下此函数。

  4. 选择右上角的播放按钮预览应用。

  5. 如果字段为空白或包含不完整的电子邮件地址,该按钮将禁用并灰显。 可以尝试一些不含 @ 或缺少句点 (.) 的不同示例。

    文本输入字段中缺少 @ 符号的无效电子邮件地址的屏幕截图,其下方的按钮已禁用。

    输入格式正确的电子邮件地址时,按钮将变为蓝色并可供选择。

    文本输入字段中有效电子邮件地址的屏幕截图,下方的按钮处于编辑模式。

数据验证函数是对用户输入的数据进行构形的实用工具。 使用这些函数可帮助消除数据输入错误并进一步增强用户体验。