【发布时间】:2020-09-12 04:19:54
【问题描述】:
现在,如果我移出当前文本框,将显示错误消息。在我点击提交按钮之前我不想显示它。
【问题讨论】:
标签: asp.net requiredfieldvalidator
现在,如果我移出当前文本框,将显示错误消息。在我点击提交按钮之前我不想显示它。
【问题讨论】:
标签: asp.net requiredfieldvalidator
当为您的验证器启用 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
}
【讨论】:
在页面的某处使用验证摘要控件...
<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> 控件中。
【讨论】:
通常它只在您输入文本时出现,再次删除它然后移出文本框。我认为这是设计使然。尝试更改 EnableClientScript 属性。
【讨论】:
将验证器的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');" />
【讨论】:
您可以为不希望对其进行验证的按钮设置CausesValidation="False"。
<asp:Button ID="btnCancel" runat="server" Text="cancel" CausesValidation="False"
onclick="btnCancel_Click"/>
【讨论】:
试试这个来创建动态单选按钮以及必填字段验证器......
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;
【讨论】: