【发布时间】:2014-11-26 22:05:27
【问题描述】:
我真的不知道为什么会这样。验证摘要似乎是非常基本的控件。单击“提交”按钮后,各个错误消息会出现在字段旁边(例如,当需要字段时,文本框旁边会显示“需要字段”的错误消息),但在我的验证摘要处没有出现应该。我没有任何验证组,因为我想验证页面上的所有内容。我页面上的所有内容看起来都很好。我似乎无法弄清楚是什么可能阻止摘要显示。验证摘要位于页面顶部。这是我的代码:
<form id="form1" runat="server">
<asp:ValidationSummary
id="valSum"
DisplayMode="BulletList"
runat="server"/>
<div id ="name">
<asp:Label
id="lblFirstName"
Text="First Name:"
AssociatedControlID="txtFirstName"
Runat="server" />
<br />
<asp:TextBox
id="txtFirstName"
Runat="server" />
<asp:RequiredFieldValidator
id="reqFirstName"
ControlToValidate="txtFirstName"
Text="(Required)"
Runat="server" />
</div>
<div>
<asp:Label
id="lastName"
text="Last Name:"
runat="server" />
<br />
<asp:TextBox
id="txtLastName"
Runat="server" />
<asp:RequiredFieldValidator
id="reqLastName"
ControlToValidate="txtLastName"
Text="(Required)"
Runat="server" />
<br /><br />
<asp:Label
id="city"
text="City:"
runat="server" />
<br />
<asp:TextBox
id="txtCity"
Runat="server" />
<asp:RequiredFieldValidator
id="reqCity"
ControlToValidate="txtCity"
Text="(Required)"
Runat="server" />
<br /><br />
<asp:Label
id="state"
text="State:"
runat="server" />
<br />
<asp:TextBox
id="valState"
MaxLength="2"
Width="20"
Runat="server" />
<asp:CustomValidator
id="reqState"
ControlToValidate="valState"
OnServerValidate="stateArrayCheck"
Text="Please enter a valid U.S. State (using all caps)"
Runat="server" />
<br /><br />
<asp:Label
id="Label1"
text="Zip Code"
runat="server" />
<br />
<asp:TextBox
id="zipText"
Runat="server"
width="40" />
<asp:RangeValidator
id="reqZip"
ControlToValidate="zipText"
Text="Must be a valid zip code between 40000 and 59000"
MinimumValue="40000"
MaximumValue="59000"
Runat="server" />
<br /><br />
<asp:Label
id="lblPhone"
Text="Phone Number:"
AssociatedControlID="txtPhone"
Runat="server" />
<br />
<asp:TextBox
id="txtPhone"
Runat="server" />
<asp:RegularExpressionValidator
id="regPhone"
ControlToValidate="txtPhone"
Text="(Invalid Phone Number. Please use the format 555-555-5555)"
ValidationExpression="[0-9]{3}-[0-9]{3}-[0-9]{4}"
Runat="server" />
<br /><br />
<asp:Label
id="lblEmail"
Text="Email Address:"
AssociatedControlID="txtEmail"
Runat="server" />
<br />
<asp:TextBox
id="txtEmail"
Runat="server" />
<asp:RegularExpressionValidator
id="regEmail"
ControlToValidate="txtEmail"
Text="(Invalid email)"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
Runat="server" />
<br /><br />
<asp:Label
id="lblHours"
text="Hours Worked"
runat="server" />
<br />
<asp:TextBox
id="txtHours"
Runat="server"
width="40" />
<asp:RangeValidator
id="RangeValidator1"
ControlToValidate="txtHours"
Text="Enter a valid number of hours (must be between 10 and 60)"
MinimumValue="10"
MaximumValue="60"
Runat="server" />
<br /><br />
<asp:Label
ID="lblStartDate"
Text="Start Date:"
Runat="server" />
<asp:TextBox
id="txtStartDate"
Runat="server" />
<br /><br />
<asp:Label
id="lblEndDate"
Text="End Date:"
Runat="server" />
<asp:TextBox
id="txtEndDate"
Runat="server" />
<asp:CompareValidator
id="cmpDate"
Text="(End date must be greater than start date)"
ControlToValidate="txtEndDate"
ControlToCompare="txtStartDate"
Type="Date"
Operator="GreaterThan"
Runat="server" />
<br /><br />
<asp:Button
ID="btnSubmit"
Text="Submit"
Runat="server" />
</div>
</form>
</body>
</html>
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
好的,感谢您通知我。以后我会牢记这一点。
标签: c# asp.net validationsummary