我正在试图弄清楚ASP.NET(我认为3.5)的验证摘要控制是如何工作的。
<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." />
似乎无论我做什么,验证摘要仍为空(但 呈现),错误仅显示在每个相应验证器的位置。
我做错了什么?
答案 0 :(得分:7)
Text
属性的值是控件旁边显示的值。您需要设置验证器的ErrorMessage
属性来控制摘要中显示的内容。
答案 1 :(得分:2)
您想在验证控件上设置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." />
答案 2 :(得分:1)
在RequiredFieldValidators上设置ErrorMessage
属性,而不是Text
属性。
<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." />