实施数据验证
您可以使用低代码插件来集中数据验证逻辑。 使用插件可确保无论用户如何处理数据,逻辑始终运行。 您可以使用即时插件,按需运行验证逻辑。 此外,您还可以使用自动插件在数据发生变化时运行逻辑。
使用即时插件
使用即时插件时,您可以使用错误函数或输出参数,与即时插件操作的调用方进行通信。 您可以使用输出参数,为调用方提供比使用错误函数更为优雅的错误处理体验。 例如,如果数据有效,您可以编写一个布尔指示器,如果数据无效,您可以编写一个消息参数,提供有关问题原因的更多详细信息。
使用自动插件
当您使用自动插件时,传达问题的主要方式是使用错误函数。 您也可以修改数据行以指示问题。 这些方法的主要区别在于,当您使用自动插件中的错误函数时,您的插件或原始请求所做的任何工作都会终止,数据更改也会回滚。 例如,如果用户创建一个联系人,并且您在地址验证插件中发现问题,那么您可以使用错误函数。 在此示例中,用户会注意到错误,并且不会将联系人添加到 Dataverse。 这种方法可以很好地防止存储不良数据,但其体验对用户可能不是非常友好。 而使用修改数据行的方法,您可以在数据行中添加地址有效指示器,这样插件就可以根据数据验证结果修改该指示器。 利用这种方法,用户仍然能够保存联系人,但可以使用此指示器触发后续业务流程,来清理无效数据。
当您使用自动插件进行验证时,请确保将插件设置为在预操作期间运行。 此选项是最高效的,因为如果出现问题,系统会在更新 Dataverse 之前停止操作,并完成所有已完成工作的回滚。
使用 Power Fx 验证数据
Power Fx 的许多函数在您编写验证逻辑时非常有用。 以下是您应该熟悉的一些函数。
DateDiff - 当您使用日期并希望确定它们是否超出有效范围时,此函数非常有用。 例如,您希望确保服务请求日期不超过未来 90 天。
StartsWith、EndsWith - 此函数可用于检查字符串内容中是否有特定数据。
IsBlank、IsEmpty - 您可以使用 IsBlank 检查某个列是否包含数据,例如 First Name 和 Last Name 是否包含数据。 您可以使用 IsEmpty 来检查某个表是否为空。 例如,如果您想知道任何现有 Contact 行是否有特定名称,可以使用筛选器并使用 IsEmpty 检查结果。
IsMatch、Match 和 MatchAll - 匹配函数功能非常强大,因为它们支持匹配某种模式或正则表达式。 例如,您可以使用匹配函数来检查数据行中的客户编号是否遵循有效模式。