使用JavaScript函数进行验证

时间:2012-04-28 12:04:39

标签: javascript asp.net validation custom-validators

我有以下JavaScript功能:

function validateLocality(object, args) {
        if (document.getElementById("<%=ddlLocality.ClientID %>").value == "0") {
            args.IsValid = false;
        }
        else {
            args.IsValid = true;
        }
    }

以及带验证器的以下下拉列表:

<asp:DropDownList
  ID="ddlLocality"
  runat="server"
  DataSourceID="DataSourceListTowns"
  DataTextField="town_name"
  DataValueField="town_id"
  ToolTip="The Locality Where the User Lives"
  AppendDataBoundItems="True"
  ViewStateMode="Disabled">
<asp:ListItem Value="0">Select Locality</asp:ListItem></asp:DropDownList>
<asp:CustomValidator
  runat="server"
  ControlToValidate="ddlLocality" 
  ErrorMessage="Select Locality"
  ToolTip="Select Locality"
  ID="validateLocality" 
  ClientValidationFunction="validateLocality()">*</asp:CustomValidator>

事情根本没有验证下拉列表。

感谢任何帮助因为我破坏了我的大脑

2 个答案:

答案 0 :(得分:0)

你的功能有2个参数:

function validateLocality(object, args)

但是当你打电话给它时,你没有传递任何内容..?

ClientValidationFunction="validateLocality()"

向您的函数添加提醒,以确保在提交时调用它。

function validateLocality(object, args)
{
     alert("working");

     if (document.getElementById("<%=ddlLocality.ClientID %>").value == "0")
     {
          args.IsValid = false;
     }
     else
     {
          args.IsValid = true;
     }
}

答案 1 :(得分:0)

ClientValidationFunction应仅包含该功能的名称。它不期望加入Javascript表达式。因此,您的属性应如下所示:ClientValidationFunction="validateLocality"请注意没有()