Mashup Builder > 小组件 > 将验证应用于小组件
将验证应用于小组件
可使用验证来检查用户可于混搭中键入或选择的数据。可通过验证来校验所提供的数据是否采用了正确格式,以及是否符合应用程序的预期要求。某些输入为必填项,其他输入必须满足特定的格式要求,例如电话号码或电子邮件地址。通常,在将数据提交到服务器前,会于客户端执行简单验证。但是,可使用事件和服务在服务器端执行高级验证。可通过验证以下列方式改进混搭的用户体验:
使用正确格式收集数据。数据丢失或格式有误时,可能无法正确使用数据服务和函数。
为保护用户数据,请确保仅在服务器上存储有效和安全数据。
保护混搭免遭恶意数据侵入,否则可能会破坏应用程序。
验证成功后,应用程序允许用户将输入提交至服务器。验证失败时,会显示一条失败消息,用户可在更正输入后重新尝试。可使用小组件和样式属性来配置条件、成功和失败消息的文本、图标和样式。在 ThingWorx 9.3.4 或更高版本中,以下小组件支持输入验证:
滑块
栅格
有关将验证应用于栅格小组件的详细信息,请参阅验证栅格内的输入
在设计时选择其中一个列出的输入小组件后,其验证属性会在“验证”面板上列出。下图显示了文本字段小组件的属性。可配置验证属性,如 MaxLengthMinLength 消息。
最佳实践
请确保小组件具有足够空间显示布局中的验证消息。在小组件上设置的固定高度过小可能会影响消息的可见性。建议将高度设置为自动调整大小。
配置验证属性
可通过可用验证属性执行以下配置:
通过 ValidationState 属性以编辑方式将验证状态设置为以下值之一:
Undefined - 禁用验证时 (默认)
Unvalidated - 未触发验证时
Valid - 验证成功时
Invalid - 验证失败时
当以 Validate 事件更改小组件数据时,将触发函数验证服务。
使用 ValidationOutput 属性检索验证状态。
控制条件、失败、成功和必需值消息的可见性、文本和图标。
控制是否需要使用 ValueRequired 属性来指定小组件的值。
此外还有特定于每个小组件的其他属性。例如,可为文本区域小组件设置所支持的最大和最小字符数。
* 
小组件主题中列出了每个小组件的完整属性列表。
有两种数据验证方法:
即时 - 使用即时验证时,数据会在用户输入时同步接受检查。可通过此方法在用户键入时提供即时反馈。例如,可验证在文本字段小组件中键入特殊字符时是使用 Changed 还是 EnterKeyPressed 事件。此类验证无需连接至服务器,且通常于客户端执行。
显式 - 验证数据以响应用户操作,例如单击提交按钮或通过链接导航至其他页面。发生此类事件时,可执行验证服务来返回 ValidationState 属性的 ValidInvalid 值。可使用此类验证执行服务器端验证,其所需时间比客户端验证要长。
应用客户端验证
可通过此类验证应用浏览器中应用的验证规则。使用客户端验证可于数据提交至服务器前,通过允许用户修复格式化问题来改进应用程序的使用体验。此外,客户端验证要快于服务器端验证。以下是可应用客户端验证的示例:
检查必填字段是否必须包含数据。
检查邮政编码或电子邮件地址格式
验证特殊字符或序列
在将数据发送至服务器前,可使用验证器和表达式等函数于客户端上对其进行验证。
应用服务器端验证
使用客户端验证无法确保输入数据为有效数据和安全数据。要执行高级验证,请使用服务器端验证服务。在以下情况,应同时在服务器端和客户端验证提交的数据:
当验证访问基于服务器的数据时,或需要大量数据执行验证时。例如,当用户访问数据库以核实请求表单中某机床部件可否订购时。在这种情况下,使用客户端验证需下载大量数据,从而影响性能。
使用敏感数据时。应用客户端验证无法确保安全性。用户仍可向服务器提交错误或恶意数据。请确保所有输入数据在发送至服务器前均已经过清理。
以下是服务器端验证用例:
检查新机床部件的 ID 是否唯一,是否已存在。
检查远程事物名称是否已存在。
检查电子邮件地址是否已存在。
检查用户是否具有执行任务所需的权限。
将验证应用于小组件
要将验证应用于小组件,请执行以下步骤:
1. 在 Mashup Builder 中,选择工作区中的输入小组件或使用“资源管理器”面板对其进行选择。
2. “验证”面板上,定义验证条件和消息:
若需要值,请将 ValueRequired 属性设置为 true。可使用 RequiredMessage 属性自定义欲显示的消息。
配置条件、失败和成功消息以通知用户有关验证要求和结果的信息。
3. 或者,将小组件 ValidationState 属性绑定至函数或数据服务。
4. Validate 事件绑定至函数或数据服务,具体取决于欲执行的验证类型。
要执行客户端验证,请使用函数。
要执行服务器端验证,请使用数据服务。
5. 单击“保存”,然后查看混搭。
于运行时将验证应用于小组件。
自定义验证消息
可在支持验证的小组件内显示以下类型的消息:
条件 - 在应用验证前显示。
失败 - 验证失败时显示
成功 - 验证成功时显示
必需 - 缺少必需值时显示
* 
某些小组件,如文本字段,包括内置验证属性的特定消息。有关各小组件可用属性的详细信息,请参阅小组件主题。
可显示条件消息,以通知用户所需的数据格式和小组件所用的验证规则。要显示条件消息,请将 ShowValidationCriteria 属性设置为 true。
1. ValidationCriteriaIcon - 设置用于条件消息的图标。
2. CriteriaMessage - 设置要显示在条件图标旁的条件消息。
3. CriteriaMessageDetails - 要显示的有关验证条件的其他详细信息。
要在验证失败时显示条件消息,请将 ShowFailureMessage 属性设置为 true。
此外,还会针对失败状态显示条件状态的消息和详细信息。要为失败状态设置特定图标,请使用 ValidationFailureIcon 属性。
可显示成功消息,以确认重要操作或任务的数据或选择是否有效。要显示成功消息,请将 ShowValidationSuccess 属性设置为 true。运行时,当将 ValidationState 属性值设置为 Valid 后,将显示成功消息。
1. ValidationSuccessIcon - 设置显示在成功消息中的图标。
2. SuccessMessage - 设置要针对验证状态显示的消息。
3. SuccessMessageDetails - 要显示的有关验证成功的其他详细信息。
当缺少或未选择必需值时,可使用 RequiredMessage 属性显示消息。以下为未选择复选框小组件时显示失败消息的示例。
在此示例中,TrueRequiredShowValidationFailure 属性均处于启用状态。可使用 ShowValidationCriteriaCriteriaMessage 属性指示用户必须进行选择。
多次验证失败后,列表中会显示失败消息。在以下示例中,滑块验证失败,因为范围中的第一个值小于最小值,第二个值大于所允许的最大值。
样式验证消息
默认情况下,成功、失败和标准消息默认使用红色、绿色和蓝色高亮颜色进行样式设置。可在混搭样式主题中自定义验证样式:
1. 在 Composer 中打开样式主题实体。
2. “样式”选项卡的“全局”下,展开“颜色” > “核心颜色”
3. 编辑“成功”“危险” 颜色的值。
4. 保存对样式主题所做的更改,并预览混搭中的更改。
也可使用“样式属性”面板上的小组件样式属性为这些状态中的每一个设置字体、颜色和背景颜色样式。
1. 在 Mashup Builder 中,选择一个受支持的输入小组件。
2. “样式属性”面板中,展开验证状态,如 Valid。随即将列出可用部件。
* 
日期时间选取器小组件的样式属性列于“基本”状态下。
3. 展开一个或多个零件,然后编辑可用样式属性。
4. 单击“保存”,然后单击“查看混搭”。这样一来,这些样式在应用验证时便处于可见状态。
这对您有帮助吗?