2012-04-28 7 views
0

と検証、私は次のJavaScript機能を持つ: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> 

ことは、それがすべてでドロップダウンを検証していないです。

function validateLocality(object, args) 

しかし、あなたはそれを呼び出すとき、あなたがいずれかを渡していません..:任意のヘルプ原因については

おかげで私はこの

答えて

0

ClientValidationFunctionは、関数の唯一名前を運ぶ必要があります。 Javascriptの表現をキャッチすることは期待していません。したがって、属性は次のようになります。ClientValidationFunction="validateLocality"注釈なし()

+0

私は今、愚かな感じです:/ –

0

あなたの関数は2つの引数を取ってについての私の脳を難破しましたか?

ClientValidationFunction="validateLocality()" 

機能にアラートを追加して、送信時に呼び出されていることを確認します。

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

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

警告が表示されていますが、カスタムプロバイダーがアスタリスクを表示していないため、値が0であることを確認しています。if文で警告を出し、ifまたはelse奇妙な –