C#CustomValidator未显示错误,但args.Isvalid=false
我正在尝试在文本框上创建自定义CustomValidator,以便长度不能为0。只是它没有显示错误消息。但继续点击按钮事件 这是我正在使用的代码C#CustomValidator未显示错误,但args.Isvalid=false,c#,C#,我正在尝试在文本框上创建自定义CustomValidator,以便长度不能为0。只是它没有显示错误消息。但继续点击按钮事件 这是我正在使用的代码 <asp:TextBox ID="proj_title" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidatorproj_title" runat="server" ErrorMessage="CustomValidator" Displ
<asp:TextBox ID="proj_title" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidatorproj_title" runat="server" ErrorMessage="CustomValidator" Display="Dynamic" OnServerValidate="CustomValidatorproj_title_OnServerValidate" ShowSummary="true"></asp:CustomValidator>
您应该在自定义验证器中提供ControlToValidate=“proj_Title”属性,以确保已将ValidateEmptyText设置为True 所以我找到了问题所在。 自定义验证器始终继续使用按钮单击方法,即使验证器说“false”,为了捕获IsValid,需要在单击方法中使用
if(Page.IsValid){}
例如:
protected void button_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
//code here if the page is valid
}
}
在此之后,如果页面无效并显示消息,则会触发自定义验证程序。侧注:您可以使用
args.IsValid=proj_title.Text.Length>0替换if/else块。
您希望在客户端或服务器端进行验证吗?这是CustomValidator现在:
protected void button_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
//code here if the page is valid
}
}