本课介绍如何验证用户在 LightSwitch 应用程序中输入的数据。
添加数据验证
在涉及数据输入的几乎所有应用程序中,在数据保存之前必须进行验证数据。例如,您可能要验证电话号码的位数是否正确,或者必填字段不为空。
“数据设计器”包含一种验证的一个示例:每个实体字段都有**“必填”**复选框。如果一个字段被标记为“必填”,但该字段为空,则当用户试图保存数据时,LightSwitch 会自动显示一条警告消息。
通过设置验证属性或编写自定义验证代码,也可以处理 LightSwitch 中的验证。
设置验证属性
在**“解决方案资源管理器”中双击“联系人”**。
在**“数据设计器”中,单击< 添加属性 >**,然后键入 ContactState。
请确保该类型是 String。
在**“属性”窗口中,选择“最大长度”**属性并键入 2。
此设置可以确保不超过两个字符的内容可以键入 ContactState 字段中。
添加自定义验证代码
在**“解决方案资源管理器”中双击“Order_Details”**。
在**“数据设计器”**中,选择 Quantity 字段。
在**“属性”窗口中,单击“自定义验证”**链接。
**“代码编辑器”**打开后,将显示 Quantity_Validate 方法的代码块。
将以下代码添加到注释行紧下方的 Quantity_Validate 方法。
警告
添加 Visual Basic 还是 C# 代码,取决于项目创建时选择的编程语言。
If Quantity < 1 Then results.AddPropertyError("Quantity must be greater than zero.") End If
if (Quantity < 1) { results.AddPropertyError("Quantity must be greater than zero."); }
此代码确保 Quantity 字段中小于 1 的值无法被保存。如果用户试图保存小于 1 的值,将触发验证错误。
详细了解
这一课展示了如何通过设置验证属性或通过编写验证代码来验证数据。不同的验证属性可用于不同的数据类型。例如,String 类型有**“最大长度”属性,以及 Integer“最小值”和“最大值”属性。所有类型都有“必填”属性,它是用于“数据设计器”中的“必填”**复选框的属性。
检查**“客户”实体时,请注意如果验证属性显示为灰色,则无法更改。某些字段(如“地址”)在“最大长度”**属性中已有值。无法设置附加数据源的实体中的验证属性;只有在您创建的实体中才可以设置它们。
如果要为附加数据源的实体添加验证,则可以通过编写自己的验证代码来完成。除非您添加了限制性更强的验证,否则无法重写现有的验证属性。例如,对于具有**“最大长度”**为 30 的字段,无法添加验证代码将长度设置为 40。不过,您可以添加代码将长度限制到小于 30。
后续步骤
在下一课中,您将学习如何将计算的属性添加到数据实体。
下一课:添加计算属性