初めて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」メソッドに編集を追加したい場合、結果をフォームコントロールに関連付けるにはどうすればよいですか?
(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コントロールが、次のようなクロスコントロール検証を目的としていない場合:
ユーザーがビジネスオプションプロパティCustomer.DoYouSmokeCrackAsBooleanに対応するラジオボタングループで[はい]オプションを選択した場合、このフィールドが条件付きで必須であることを示すErrorProviderアイコンでtxtHowMuchコントロールにフラグを立てる必要があります。
現在これを行っている方法は、Self Validationブロックでこれを行うことです。コレクションにValidationResultオブジェクトを追加するときに、Keyプロパティを "Explanation"に設定して、GUIが問題のある画面に手動でマップできるようにします。コントロール。
これを行うためのより標準的な/より良い方法はありますか?