现在,如果我移出当前文本框,将显示错误消息。在我点击提交按钮之前,我不想显示它。
答案 0 :(得分:8)
为验证程序启用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
}
答案 1 :(得分:4)
在页面的某处使用验证摘要控件...
&lt; 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>
控件中会显示错误消息。
答案 2 :(得分:1)
通常只有当您输入文本,再次删除它然后移出文本框时才会出现。我认为这是设计上的。尝试更改EnableClientScript属性。
答案 3 :(得分:1)
将验证程序的forecolor
属性设置为页面的背景颜色。然后在提交按钮的onclientclick
中,将css color
属性更改为所需的颜色:
<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');" />
答案 4 :(得分:0)
您可以为不希望验证的按钮设置CausesValidation="False"
。
<asp:Button ID="btnCancel" runat="server" Text="cancel" CausesValidation="False"
onclick="btnCancel_Click"/>
答案 5 :(得分:-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;