2

我正在开发一个 ASP .Net Web 应用程序。
我的 ASPX 页面之一包含一个自定义 TextBox 控件。

3 个验证控件应用于 TextBox :

  • 1 必填字段验证器
    • 错误消息="*"
    • 显示="动态"
    • ValidationGroup="IdentityRequired"
  • 2 比较验证器:
    • 错误消息="*"
    • ValidationGroup="身份"

提交表单时执行自定义 JS 函数。
自定义 JS 函数包含以下 2 个语句:

var b_RegExp = window.Page_ClientValidate('Identity');
var b_Required = window.Page_ClientValidate('IdentityRequired');

当 b_Required 为 false 时,会显示由 RequiredFieldValidator => OK 引起的星号!
当 b_RegExp 为 false 时,不显示星号 => KO !
任何人都可以向我解释什么是错的吗?

4

1 回答 1

1

似乎最后一次调用 window.Page_ClientValidate 确定了要显示的错误消息。
即使在 Identity 组中检测到错误,也不会显示错误消息(星号),因为最后一次调用 window.Page_ClientValidate 在 IdentityRequired 组中没有检测到错误。

所以我改变了我的两个 JS 语句如下:

var b_Required = window.Page_ClientValidate('IdentityRequired');
var b_RegExp = false;
if (b_Required)
    b_RegExp = window.Page_ClientValidate('Identity');

我已将 Display="Dynamic" 添加到我的 2 个 CompareValidator 控件的标记中。

于 2013-03-06T19:27:38.260 回答