从代码背后启用RequiredFieldValidator

时间:2013-03-01 23:27:22

标签: asp.net css validation requiredfieldvalidator

我正在从后面的代码中显示requiredfieldvalidator的错误消息,但显示设置为none或者隐藏了visible。我试图做.visible = true但它仍然是隐藏的。如何让它显示错误消息?文本框位于GridView内。

<asp:TemplateField HeaderText="SSN">
    <ItemTemplate>
    <asp:TextBox ID="txtSSN" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtSSN" />
     </ItemTemplate>
</asp:TemplateField>

TextBox txtSSN = (TextBox)r.FindControl("txtSSN");
if (txtSSN.Text == "")
        {
      RequiredFieldValidator RequiredFieldValidator1 = (RequiredFieldValidator)r.FindControl("RequiredFieldValidator1");
      RequiredFieldValidator1.Visible = true;
      RequiredFieldValidator1.Enabled = true;
      RequiredFieldValidator1.ErrorMessage = "This field is required.";
        }

3 个答案:

答案 0 :(得分:4)

IsValid属性设置为false

RequiredFieldValidator1.IsValid = false;

您不需要为可见性而烦恼,这将自动发生。

答案 1 :(得分:3)

验证无效时验证器会自动显示,因此请通过Validator.Validate()

触发验证
RequiredFieldValidator1.Validate();
  

对关联的输入控件执行验证并更新IsValid属性。

答案 2 :(得分:0)

该字段不得位于网格中才能使用Isvalid。 如果在网格中,请使用page.validate()并检查page.isvalid()