针对不同控制事件的客户端验证

时间:2009-08-27 16:16:52

标签: asp.net customvalidator validationsummary client-side

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

<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添加到我的validationsummary

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

3 个答案:

答案 0 :(得分:3)

您肯定需要使用errormessage =“xyz”将消息显示在验证摘要中。除非您正在验证多个控件组,否则验证组无关紧要。

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

答案 1 :(得分:0)

您需要将dateTextBox.ValidationGroupvalidateDateText.ValidationGroupyourValidationSummary.ValidationGroup设置为相同的值。

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

答案 2 :(得分:0)

我想您可能希望在CustomValidator中使用ErrorMessage =“一些信息性错误消息”。您还需要为CustomValidator,ValidationSummary控件以及导致回发的控件设置ValidationGroup =“SomeGroupName”。