单击“提交”按钮后如何显示requiredfieldvalidator错误消息

时间:2010-05-18 06:43:53

标签: asp.net requiredfieldvalidator

现在,如果我移出当前文本框,将显示错误消息。在我点击提交按钮之前,我不想显示它。

6 个答案:

答案 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;