如何验证AJAX级联下拉列表

时间:2010-03-17 13:21:37

标签: asp.net ajax validation

我正在使用AJAX Cascading下拉列表,但想要添加事件验证,例如比较验证器。

由于级联下拉列表要求禁用页面事件验证,验证的最佳方法是什么?

由于

安迪

验证尝试: 我试图使用一个调用Javascript函数的自定义验证器但它似乎没有拿起控件。我收到以下错误Microsoft JScript runtime error: Object required

function ValidateCostCentCat(source, arguments) 
{
  var countryList = document.getElementById("ddlCategory");
  if (null != countryList) 
  {
    var iValue = countryList.options[countryList.selectedIndex].value;
    if (iValue == "Select Category") 
    {
      arguments.IsValid = true;
    } 
    else 
    {
      arguments.IsValid = false;
    }
  }
}

自定义验证器的标记是

<asp:CustomValidator ID="valcustCategory" runat="server" CssClass="error" Display="Dynamic" ValidationGroup="DirectHire" ClientValidationFunction="ValidateCostCentCat"
          ErrorMessage="Please select a Cost Centre Category from the drop down list provided.">!</asp:CustomValidator>

1 个答案:

答案 0 :(得分:3)

请阅读: http://www.w3schools.com/PHP/php_ajax_database.asp

  

示例说明如何选择   来自下拉框的值通过它发送   AJAX并回复答案!

     

在中间你可以做所有的事情   验证你想要的!

更新代码只是为了好玩! ; - )

假设您的选择

<asp:DropDownList ID="CategoryDropDownList" runat="server">

然后你的功能看起来像这样:

function ValidateCostCentCat(source, arguments)
{
    var countryList = document.getElementById("CategoryDropDownList");
    if (null != countryList)
    {

    var iValue = countryList.options[countryList.selectedIndex].value;

    if ( iValue == "Select Category" ) {

    arguments.IsValid = true;

    } else {

    arguments.IsValid = false;

    }
  }
}

这必须按预期工作!

希望这有帮助!