2011-12-27 6 views
1

カスタムバリデータを使用してテキストボックスの内容を検証しています。 ユーザがこのテキストボックスを離れるたびに、私のクライアントスクリプトが呼び出されます。これは、私の場合、少し面倒です。テキストボックスのOnChangeイベントでカスタム検証を実行しないでください

は、ユーザーがボタンのボタンをクリックしたときに実行されます(これは既に起こっています)。 OnChangeイベントのTextBoxで検証を実行しないようにする方法はありますか?

私のコードはここにある:

function isGroupNameUnique(sender, args) { 
     var valid = true; 

     var tokens = $('#hdnGroupNames').val().split(','); 
     var groupName = $('#<%= txtGroupName.ClientID %>').val(); 

     $.each(tokens, function (i) { 
      if (groupName == this) 
       valid = false; 
     }); 

     args.IsValid = valid; 
    } 




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

<asp:Button ID="btnAddGroup" runat="server" Text = "Add" onclick="btnAddGroup_Click" class="bGraySmaller" ValidationGroup="AddGroup"/> 

<asp:CustomValidator ID="validatorGroupNameAlreadyExists" runat="server" ControlToValidate="txtGroupName" ErrorMessage="The Group Name has to be unique" ValidationGroup="AddGroup" ClientValidationFunction="isGroupNameUnique" /> 
+0

私の提案は、カスタムバリデータで「ClientValidationFunction」属性を削除し、作品の魅力のよう – Praveen

答えて

1

CustomValidatorにControlToValidateプロパティを削除する(このプロパティは必須ではありませんだけValidatorは何です)。 TextBoxに同じValidationGroupを設定します。

<asp:TextBox ID="txtGroupName" ValidationGroup="AddGroup" runat="server" /> 
<asp:CustomValidator ID="validatorGroupNameAlreadyExists" runat="server" ErrorMessage="The Group Name has to be unique" ValidationGroup="AddGroup" ClientValidationFunction="isGroupNameUnique" /> 
+0

「btnAddGroup」ボタンのjQueryのイベントハンドラを追加し、感謝することです:D – JSBach

関連する問題