我们如何在aspx页面中的用户控件上使用必需的字段验证器?
我有一个用户控件,其中一个下拉。我在我的页面上使用此控件。我想在此下拉列表中使用必填字段验证器。
我该如何使用?
答案 0 :(得分:7)
这是我自己的回答here。
要允许自定义用户控件进行验证,首先需要添加<ValidationPropertyAttribute("value")>
。这指定了提供要验证的字符串的属性,其中“value”是属性的名称。
其次,页面上验证控件的ControlToValidate=""
属性应该是用户控件的ID,冒号(:),然后是与'value'关联的控件的ID。
例如,我有一个名为cboTask的控件,其中定义了<ValidationPropertyAttribute("value")>
,其中value是一个属性,它返回包含在cboTask中的DropDownList(DropDownList1)的当前值。为了验证用户是否选择了一个选项,我使用了ControlToValidate="cboTask:DropDownList1"
的RequiredFieldValidator。
<ValidationPropertyAttribute("value")> _
Partial Public Class ctlDropDownList
Inherits System.Web.UI.UserControl
Public Property value() As String
Get
Return DropDownList1.SelectedValue.Trim()
End Get
Set(ByVal value As String)
Dim llistitem As ListItem
DropDownList1.ClearSelection()
For Each llistitem In DropDownList1.Items
If RTrim(llistitem.Value) = RTrim(value) Then
llistitem.Selected = True
Exit For
End If
Next
End Set
End Property
End Class
和
<asp:RequiredFieldValidator ID="rfvTask"
runat="server"
ErrorMessage="Task cannot be blank"
InitialValue=""
ControlToValidate="cboTask:DropDownList1"
ValidationGroup="page">*</asp:RequiredFieldValidator>