2013-03-01 50 views
0

我从后面的代码中显示requiredfieldvalidator的错误消息,但显示设置为无或隐藏可见。我试图做.visible = true,但它仍然隐藏。我怎样才能让它显示错误信息?该文本框位于GridView中。从代码背后启用RequiredFieldValidator

<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

IsValid属性设置为false

RequiredFieldValidator1.IsValid = false; 

你不应该需要打扰知名度,这将自动发生。

2

验证器示出了本身当验证是无效的,所以经由Validator.Validate()触发它:

在相关联的输入控制执行验证,并更新IsValid属性。