3

我有一个自定义验证器附加到文本框控件,如下所示

<td align="center" width="10px">
  <asp:CustomValidator ID="validateDateText" ControlToValidate="dateTextBox" 
       runat="server" OnServerValidate="ValidateDate" 
       ClientValidationFunction="Validate_Date" EnableClientScript="true" 
       Width="10px" CssClass="errortext" Text="*" Font-Size="Medium" Font-Bold="true" />
</td>
<td align="center" width="80px">
  <asp:Textbox ID="dateTextBox" MaxLength="100" runat="server"  
       CssClass="dateselectortextbox" style="margin-right: 3px;" />
</td>

当我单击页面上的 Causevalidation="true" 按钮时,客户端脚本会触发并且验证摘要会反映错误消息,并且验证器会显示 *

但是,当我单击文本框时,验证器仅显示 * 验证摘要未更新

客户端验证正在工作,因为服务器端代码没有被调用,我只是想弄清楚为什么验证摘要没有在 onblur 事件上更新

有任何想法吗?

编辑:

ErrorMessage 在验证器的代码隐藏中设置

我已将 EnableClientScript 添加到我的验证摘要中

我已将 ValidationGroup 添加到我的验证摘要、自定义验证器、文本框和按钮中,但按钮单击的验证摘要仍然更新,但文本框 onblur 事件没有更新

4

3 回答 3

4

您肯定需要使用 errormessage="xyz" 来让消息显示在验证摘要中。除非您有一组以上要验证的控件,否则验证组应该无关紧要。

是另一个帖子的链接,可以帮助您在 onblur 之后更新验证摘要。

于 2009-08-27T17:51:21.230 回答
1

我认为您可能想在您的 CustomValidator 中使用 ErrorMessage ="Some informationative error message"。您还需要为 CustomValidator 、ValidationSummary 控件以及导致回发的控件设置 ValidationGroup ="SomeGroupName"。

于 2009-08-27T17:22:20.350 回答
0

您需要将dateTextBox.ValidationGroup,validateDateText.ValidationGroup和设置yourValidationSummary.ValidationGroup为相同的值。

请参阅http://msmvps.com/blogs/brianmadsen/pages/ASP.Net-2.0-_2D00_-How-to-use-the-new-validation-features_2C00_-part-1.aspx

于 2009-08-27T17:01:34.700 回答