如何从JavaScript运行验证器?

时间:2011-11-22 20:55:38

标签: javascript asp.net

以下是我的代码的一部分:

<asp:ListBox ID="lbRD" runat="server" DataSourceID="RDSqlDataSource" onchange="JSFillDetail();" DataTextField="Описание" DataValueField="ID" Width="188px" Height="200px"/>

<asp:TextBox ID="txtDescription" runat="server" />

<asp:RequiredFieldValidator ID="txtDescriptionRequiredFieldValidator" runat="server" ErrorMessage="Описание является обязательным для заполнения" ControlToValidate="txtDescription" />

我的页面上有一个列表框,一个文本框和一个必填字段验证器。当用户从列表框中选择某些内容时,所选项目将使用javascript函数显示在文本框中。提交页面时,验证程序会在文本框为空时报告错误。如果之后用户从列表框中选择了某些内容,则仍会显示错误消息,即使文本框不再为空。如何让验证器验证文本框,甚至更好地清除填充文本框的javascript函数中的错误消息? 谢谢,大卫

1 个答案:

答案 0 :(得分:5)

您可以使用Page_ClientValidate()功能和Page_Validators集合控制页面流:

Page_ClientValidate();
var i;
for (i = 0; i < Page_Validators.length; i++)
{
    if (!Page_Validators[i].isvalid)
    {
        //example: call focus on first item that's invalid
        document.getElementById(Page_Validators[i].controltovalidate).focus();
        break;
    }
}