c# - 为什么我的 ASP.NET 4.0 中的 CustomValidator 不工作?

标签 c# asp.net

ASP.NET 中的控件

<asp:TextBox ID="txtEnd" runat="server" placeholder="12:59"></asp:TextBox>
<asp:RadioButtonList ID="rblTime2" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow">
    <asp:ListItem>AM</asp:ListItem>
    <asp:ListItem>PM</asp:ListItem>
</asp:RadioButtonList>

自定义验证器

<asp:CustomValidator ID="ValidateStartTime" ControlToValidate="txtEnd" OnServerValidate="ValidateStartTimeFun" runat="server" ErrorMessage="*required"></asp:CustomValidator>

隐藏代码

protected void ValidateStartTimeFun(object source, ServerValidateEventArgs args)
{
    try
    {   if (txtStart.Text != "" && rblTime.SelectedValue != null )
        { args.IsValid = true; }}
    catch (Exception ex)
        { args.IsValid = false; }
}

如果我将整个 CodeBehind 更改为此,它甚至不会给我一个 *required;

protected void ValidateStartTimeFun(object source, ServerValidateEventArgs args)
{
    args.isValid = false;
}

最佳答案

如果您要验证空输入,并且设置 ControlToValidate 属性且未将 ValidateEmptyText 属性设置为 true,则自定义验证器不会触发,否则框架希望您使用 RequiredFieldValidator

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.validateemptytext.aspx

关于c# - 为什么我的 ASP.NET 4.0 中的 CustomValidator 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14142174/

相关文章:

asp.net - 为我的 ASP.NET Http 处理程序指定确切路径

c# - 将数据表从一个 aspx 页面传输到另一个 C#

asp.net - 用数据库值填充 <ul>

c# - 从该类列表中的项目访问该类的成员

c# - 每个浏览器单独缓存?

c# - 修剪字符串以添加特殊和非数字字符

asp.net - 在我的网站中添加 HttpModule 时出现 "500 Internal Server Error"?

c# - 如何创建具有静态图像大小的 ListView Xamarin Forms

C# - 为应用程序保留磁盘内存(存储)

asp.net - 如何在支持多分辨率的asp.net设计 View 中设计网页?