不幸的是,我无法向您展示代码,所以我只需要解释这个问题。
我在更新面板中有一个详细视图。我添加了一个自定义验证器,如果选择了单选按钮 A,它应该显示打开条件 TextBox A 中必须有一个值。
我设置了一个 OnServerValidate 方法来检查这个,如果它失败了,那么我将 args.Valid 设置为 false。
但是我的错误消息永远不会出现。如果我查看 IE 开发工具,我会看到带有硬编码消息的客户验证器,但它是隐藏的(可见性:隐藏)。
我试图找到 customvalidator 并强制显示可见性,甚至尝试通过 customValidator.Style.Remove("visibility") 将其删除,但没有任何效果。消息总是隐藏的。
该页面确实未能通过验证,就好像满足该条件一样,我的页面将不会保存。它只是不会显示我在自定义验证器中设置的消息。
编辑
我还尝试Visible="true"
在自定义验证器的 aspx 代码中进行操作,但它仍然不会显示错误消息,并且在开发人员工具包中将其显示为隐藏。