【问题标题】:Page is not valid in codebehind but none of validators shows any error页面在代码隐藏中无效,但没有验证器显示任何错误
【发布时间】:2013-09-16 08:05:28
【问题描述】:

我有一个使用 vb.net 和几个验证器的 .aspx 页面。当我运行页面时,Page.IsValid 后面的代码为假,但验证器没有任何错误,验证摘要也没有。我怎样才能找到哪个验证器有错误,或者我该如何解决?提前致谢。

【问题讨论】:

  • 能不能把代码贴在ASPX页面里,这样比较方便。
  • 我想要它,但它大约有 500 行:S
  • 好的,发布一个控件,连同您使用的验证控件..它不需要是整个标记。

标签: c# asp.net vb.net validation


【解决方案1】:

此代码可帮助您在页面上找到无效的验证器:

string invalidValidatorID = "";
System.Web.UI.ValidatorCollection validators = this.Page.Validators;
int count = validators.Count;
for (int i = 0; i < count; i++)
{
    if (!validators[i].IsValid)
    {
        string invalidValidatorID = ((System.Web.UI.Control)validators[i]).ClientID;
    }
}

【讨论】:

    【解决方案2】:

    由于这里没有足够的信息,请查看 ASP.NET RequiredFieldValidators

    • 确保验证器的ControlToValidate 属性与control Id 匹配
    • 确保控件上有正确的Display
    • 确保EnableClientScript 设置为true,确保您已设置ErrorMessage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多