asp.net列表框的RequeredFieldValidaor
本文关键字:RequeredFieldValidaor 列表 net asp | 更新日期: 2023-09-27 18:02:25
我有一个这样的列表框:
<asp:ListBox runat="server" ID="lbSelectedUsers" SelectionMode="Multiple" Height="200" Width="100"></asp:ListBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ValidationGroup="ValidationGroup" ErrorMessage="No users selected." ControlToValidate="lbSelectedUsers"</asp:RequiredFieldValidator>
列表框最初为空,然后根据用户的选择填充。我遇到的问题是,在添加项目后,验证仍然失败。
它只在用户实际点击(选择)列表中的一个项目时起作用。
我希望验证只在列表框为空时失败。我知道我可以让我的自定义解决方案,但我希望这工作与验证摘要检查页面上的其他控件。
这能做到吗?
这并不是RequiredFieldValidator的真正用途——它只检查是否选择了某些内容。
在您的情况下,您需要使用自定义验证器(http://msdn.microsoft.com/en-us/library/9eee01cx(VS.80).aspx) -这将与ValidationSummary控件一起工作,就像任何其他验证控件一样(只要您正确设置ValidationGroup,如果使用)。
所有你需要做的就是写一个自定义的"ClientValidationFunction",如果没有项返回false,如果有项返回true。
当你绑定列表框设置InitialValue属性并分配它RFV。
<asp:ListItem Value="Australia">Australia</asp:ListItem>
<asp:ListItem Selected="True" Value="NoCountry">--ChooseCountry--</asp:ListItem>
<asp:ListItem Value="USA">USA</asp:ListItem>
</asp:ListBox>
<asp:RequiredFieldValidator id="valList"
ForeColor="#FF0000"
ErrorMessage="Selection Invalid!"
ControlToValidate="list"
InitialValue="NoCountry"
EnableClientScript="False"
runat="server"/>