现在,如果我移出当前文本框,将显示错误消息。在单击提交按钮之前,我不想显示它。
问问题
61999 次
6 回答
9
当您的验证器启用 ClientScript 时,这是不可能的。ClientScript 默认为您的验证器启用。您需要通过在源中将 EnableClientScript 设置为 False 来禁用此功能。
现在在提交按钮的事件处理程序中调用 Page.Validate() 和 Page.IsValid 以查看是否每个验证器都通过了测试。
例子:
<asp:RequiredFieldValidator ID="rfvFirstName" runat="server" ControlToValidate="txtFirstName" EnableClientScript="false" Display="Dynamic" SetFocusOnError="true" />
Page.Validate();
if (!Page.IsValid)
{
//show a message or throw an exception
}
于 2010-05-18T06:52:17.710 回答
4
在页面的某处使用验证摘要控件...
<asp:validationsummary id="valSummary" runat="server" headertext="Validation Errors:" cssclass="ValidationSummary" />`
然后验证:
<asp:textbox id="txtPostalCode" runat="server" MaxLength="250" Width="160px" text='<%# Bind("PostalCode") %>'></asp:textbox>
<asp:requiredfieldvalidator id="reqPostalCode" runat="server" errormessage="Postal code is required." controltovalidate="txtPostalCode">*</asp:requiredfieldvalidator>
如果您不想立即获得反馈,请删除“*”...<asp:validationsummary>
当您提交表单时,错误消息会显示在控件中。
于 2010-05-18T17:38:53.967 回答
2
通常它仅在您输入文本时出现,再次删除它然后移出文本框。我认为这是设计使然。尝试更改 EnableClientScript 属性。
于 2010-05-18T06:49:39.673 回答
1
将forecolor
验证器的属性设置为页面的背景颜色。然后在onclientclick
提交按钮中,将 csscolor
属性更改为所需的颜色:
<asp:CompareValidator ID="birthdaycheck" runat="server" ErrorMessage=""
Text="*Required" ControlToValidate="birthday" ValidationGroup="rfi"
Operator="NotEqual" ForeColor="#F3F3E9" />
<asp:Button ID="btnFinish" runat="server" Text="Finish"
CausesValidation="true" CommandName="MoveComplete" CssClass="navButton"
ValidationGroup="rfi"
OnClientClick="$('#wizard_birthdaycheck').css('color','red');" />
于 2012-06-14T18:54:25.197 回答
0
您可以设置CausesValidation="False"
您不希望对其进行验证的按钮。
<asp:Button ID="btnCancel" runat="server" Text="cancel" CausesValidation="False"
onclick="btnCancel_Click"/>
于 2012-08-31T04:43:45.327 回答
-2
试试这个来创建动态单选按钮以及必需的字段验证器......
TableRow trow4 = new TableRow();
trow4.Style.Add("width", "100px");
TableCell tcel4 = new TableCell();
Label lb4 = new Label();
lb4.Text = Resources.QcLabelName.Gender;
tcel4.Controls.Add(lb4);
CSSCell(tcel4);
table.Rows.Add(trow4);
RadioButtonList rblist = new RadioButtonList();
rblist.ID = "rbtnmalendfemale";
rblist.Items.Add("Male");
rblist.Items.Add("Female");
tcel4.Controls.Add(rblist);
trow4.Cells.Add(tcel4);
table.Rows.Add(trow4);
rblist.Visible = true;
RequiredFieldValidator rFV5 = new RequiredFieldValidator();
TableCell tcl46 = new TableCell();
rFV5.ControlToValidate = "rbtnmalendfemale";
rFV5.ErrorMessage = "Gendor Selection Is Mandatory";
rFV5.Style.Add("color", "Red");
rFV5.ID = "Reqfield9";
tcl46.Controls.Add(rFV5);
trow4.Cells.Add(tcl46);
table.Rows.Add(trow4);
rFV5.Visible = true;
于 2014-11-07T15:58:35.807 回答