2016-11-01 26 views
0

私は、検証するドロップダウンリスト(Telerik RadComboBox)コントロールを持つページを持っています。ASP.NET CustomValidatorがイベントを発生させない

ユーザーがリストから何かを選択したことを確認するためにCustomValidatorを配置しました。 次に、選択を送信するLinkBut​​tonがあります。

これはのCustomValidatorです:

<asp:CustomValidator 
ID="CustomValidator1" 
runat="server" 
ClientValidationFunction="validateCombo" ValidateEmptyText="true" 
ErrorMessage="You must select an item with even value" 
ValidationGroup="defGroup"> 

これはLinkBut​​tonコントロールです:

<asp:LinkButton ID="LnkInsertOrder" runat="server" Text="Inserisci Ordine" OnClick="LnkInsertOrder_Click" CausesValidation="true" ValidationGroup="defGroup" CssClass="btn btn-lg btn-info"> </asp:LinkButton> 

、ここでは、私がテストに使用しているクライアント側の機能である:

function validateCombo(source, args) { 
      alert('validateCombo'); //is never shown! 
      args.IsValid = false; //fake validation... 
} 

validateComboが呼び出されることはありません。また、jsコンソールから手動でjsコンソールから呼び出すようにしても、Page_ClientValidate( "defGroup")は常にtrueを返し、アラートは示されていない。

リンクボタンを押すと、ポストバックが実行され、プロパティPage.isValidがtrueになります。

defGroup検証グループのすべてのバリデータが有効でない場合、ユーザーがリンクボタンを押したときにポストバックを停止しようとしています。

+1

ここで動作します。たぶん、ページのどこかにJavaScriptエラーがあります。存在する場合、PostBackはバリデータによって防止されません。コンソールを確認してください。 – VDWWD

+0

は既にチェックされていますが、エラーはありません!それはあなたの作品は、それは私が投稿したコードが正しいことを意味し、このように動作する必要があります...それは3時間です私はそれを光を見ることなくそれに固執しています – Giox

+0

ブラウザのキャッシュメモリを削除しますか? –

答えて

1

は、クライアント上のPage_Validatorsリストが空であることを発見し(それはすべてのasp.netのバリデータが含まれている必要があります)、それが「解決」に私を案内しています。ネットあなたがのScriptManagerを入れて、あなたはまた、jQueryのを使用する場合4.5 1.9>いくつかの種類の「非互換性」を持っている...または多分私はそれを修正するためにBTWのGlobal.asax

でScriptResourceMappingを使用してのJS LIBSを追加する必要がありますweb.configのキー設定を追加するだけで古い検証スタイルを使用してください:

<appSettings> 
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" /> 
</appSettings> 

あなたはのCustomValidatorことを追加したり、あなたがキー設定を追加することができます内側欠落「ControlToValidate」プロパティが欠落している、それは私には狂気に聞こえるが、私が追加したときに、この行のすべてが

-1

あなたのCustomValidatorであなたのControlToValidateを追加しよう:

+0

'ControlToValidate'は' CustomValidator '仕事をする。 – VDWWD

-2

を動作するように開始しましたweb.configファイルを使用して動作させます。

関連する問題