0

我正在从后面的代码中显示 requiredfieldvalidator 的错误消息,但显示设置为无或隐藏可见。我试图做 .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.";
        }
4

3 回答 3

5

IsValid属性设置为false

RequiredFieldValidator1.IsValid = false;

您无需担心可见性,这将自动发生。

于 2013-03-01T23:29:16.107 回答
4

当验证无效时验证器会显示自己,因此通过以下方式触发它Validator.Validate()

RequiredFieldValidator1.Validate();

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

于 2013-03-01T23:32:20.670 回答
0

该字段不能在网格中使用Isvalid。如果它在网格中使用page.validate()并检查page.isvalid().

于 2020-01-27T19:31:51.277 回答