我第一次使用 Validationprovider 控件。我在尝试模仿我在 Ent Lib 安装附带的 ValidationQuickStart 解决方案示例中看到的功能时取得了有限的成功。
虽然我能够根据使用验证属性装饰 BO 属性的业务对象验证来显示表单错误提供程序图标,例如:
<NotNullValidator(MessageTemplate:="Gender must be specified.", RuleSet:="MyRule", Tag:="Gender")> _
Public Shadows Property Gender() As String
Get
Return MyBase.Gender
End Get
Set(ByVal value As String)
MyBase.Gender = value
End Set
End Property
但是,如果我想向“SelfValidation”方法添加一个编辑,我将如何将 Result 绑定到表单控件?
(In Self Validation)
If Me.Attornet s Nothing Then
Dim result As New ValidationResult("Attorney selection is required", Me, Nothing, Nothing, Nothing)
results.AddResult(result)
End If
还是我必须自己创建 **CUSTOM VALIDATOR?”,然后使用它的类型来装饰业务对象属性?
编辑:
如果 ValidationProvider 控件不适合像这样的跨控件验证:
如果用户在与 Business Option 属性 Customer.DoYouSmokeCrack As Boolean 对应的单选按钮组中选择“是”选项,则 txtHowMuch 控件应标记为 ErrorProvider 图标,指示此字段是有条件的必需字段。
我现在这样做的方式是在自我验证块中执行此操作,当我将 ValidationResult 对象添加到集合时,我将 Key 属性设置为“Explanation”,以便 GUI 可以使用它手动映射到有问题的屏幕控制。
有没有更标准/更好的方法来做到这一点?