ASP.NET:ValidationSummary不显示任何内容

问题描述:

我想弄清楚ASP.NET的验证摘要控件(3.5我认为)是如何工作的。ASP.NET:ValidationSummary不显示任何内容

<asp:ValidationSummary ID="vldSummary" runat="server" DisplayMode="BulletList" 
    CssClass="error" EnableClientScript="true" /> 
<asp:RequiredFieldValidator ID="vldSubject" ControlToValidate="txtSubject" 
    EnableClientScript="false" Text="You must enter a subject." runat="server" /> 
<asp:RequiredFieldValidator ID="vldMessage" ControlToValidate="txtMessage" 
    EnableClientScript="false" runat="server" Text="You must enter a message." /> 

看来,无论我做什么,验证摘要保持为空(但呈现)和误差仅在每个相应的验证程序的位置显示。

我在做什么错?

Text属性的值是什么,显示控制旁边。您需要设置验证器的ErrorMessage属性来控制摘要中显示的内容。

您想要在验证控件上设置ErrorMessage属性。该文本将由ValidationSummary控件显示。

尝试:

<asp:ValidationSummary ID="vldSummary" runat="server" DisplayMode="BulletList" CssClass="error" EnableClientScript="true" /> 
<asp:RequiredFieldValidator ID="vldSubject" ControlToValidate="txtSubject" EnableClientScript="false" ErrorMessage="You must enter a subject." runat="server" /> 
<asp:RequiredFieldValidator ID="vldMessage" ControlToValidate="txtMessage" EnableClientScript="false" runat="server" ErrorMessage="You must enter a message." /> 

在RequiredFieldValidators而不是Text属性上设置ErrorMessage属性。

<asp:RequiredFieldValidator ID="vldSubject" ControlToValidate="txtSubject" EnableClientScript="false" ErrorMessage="You must enter a subject." runat="server" /> 
<asp:RequiredFieldValidator ID="vldMessage" ControlToValidate="txtMessage" EnableClientScript="false" runat="server" ErrorMessage="You must enter a message." />