我设计了一个自定义复合控件。为简单起见,假设它看起来像这样:
Public Class MyCustomControl
Inherits CompositeControl
Private _textbox As TextBox
Public Property Text As String
Get
EnsureChildControls()
Return _textbox.Text
End Get
Set(value As String)
EnsureChildControls()
_textbox.Text = value
End Set
End Property
Protected Overrides Sub CreateChildControls()
_textbox = New TextBox() With {.ID = "textbox"}
Controls.Add(_textbox)
End Sub
现在我试图让消费者MyCustomControl
使用 aRequiredFieldValidator
来确保在_textbox
提交表单时(在客户端)填写内部。
我试过的:
- 添加
<ValidationProperty("Text")>
到MyCustomControl
类并用于ControlToValidate="customControlID"
(RequiredFieldValidator
见这里) ControlToValidate="customControlID:textbox"
通过以及直接附加验证器ControlToValidate="customControlID_textbox"
- 添加了一个
IsRequired
属性MyCustomControl
,将其RequiredFieldValidator
作为子控件添加到其中.ControlToValidate = _textbox.ID
第三种方法似乎确实有效(有一些我尚未调查的 javascript 错误),但我真的很想让第一种方法工作(使用ValidationProperty
属性)。
TLDR:有没有办法使用该ValidationProperty
属性在自定义复合控件上实现客户端验证?