我用asp.net所需的验证器控件编写了一个简单的asp.net代码,问题是我只有一个名为GO的提交按钮,以及一个查找选择的下拉列表: 明确,提交,取消。
无论选择何种选项,都会触发所需的字段验证。
是否有办法对页面进行编码,以便只有当所选值为“提交”时才会对其进行验证?
<asp:TextBox runat="server" id="txtName" />
<asp:RequiredFieldValidator runat="server" id="reqName" controltovalidate="txtName" errormessage="Please enter your name!" />
<br /><br />
<asp:DropDownList ID="dpAction" runat="server">
<asp:ListItem>Submit</asp:ListItem>
<asp:ListItem Value="Reset">Reset</asp:ListItem>
<asp:ListItem>Cancel</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnAction" runat="server" onclick="btnAction_Click" Text="Go"
Width="40px" />
答案 0 :(得分:2)
您可能必须使用自定义验证程序,如果您想要客户端验证,还需要为其编写客户端代码。
我假设您有一个文本框或其他需要的东西,当&#34; dpAction&#34;设置为&#34;提交&#34;?
例如,您可以在标记中执行类似的操作
<asp:CustomValidator id="CustomValidator1" runat="server"
OnServerValidate="TextValidate"
ControlToValidate="TextBox1"
ErrorMessage="Text must be specified if Submit is selected">
并在您的代码隐藏
中protected void TextValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = dpAction.SelectedValue == "Submit" && !String.IsNullOrEmpty(textbox1.Text);
}
答案 1 :(得分:0)
使用“required”属性。 它的新内容为html 5
答案 2 :(得分:0)
你应该为每个Validator设置ValidationGroup! 对于要验证的所有控件以及触发验证的按钮:
并且按钮必须与验证器具有相同的验证组!