3

「data-val-remote」タグが付いた Input タグを持つ MVC 3 アプリケーションがあります。例えば

 <div id="dialog" title="Test">  
       <input class="captcha_input" data-val="true" 
       data-val-remote="ErrorMessage" 
       data-val-remote-additionalfields="*.value" 
       data-val-remote-url="/Controller/Action" 
       data-val-required="Required" id="TestID" name="TestValue" type="text" value="">
   </div>

ダイアログを示す JQUERY のスニペット:

$('#dialog').dialog({
            height: 260,
            width: 400,
            modal: true,
            autoOpen: false
        });

残念ながら、MVC リモート検証はそれ自体で機能しますが、JQuery ダイアログに表示されると「data-val-remote」タグが機能しなくなります。

Dialog に INPUT フィールドを表示しても、すべての Javascript インクルードとフォーム アクションを継承していると思いますか?

これがバグなのか、回避策があるのか​​ 、誰かが助けてくれますか?

ありがとう

4

1 に答える 1

0

MVC 控えめなバリデーターは、DOM の準備が整ったときに、入力コントロールのイベントを 1 回サブスクライブします。ページに動的コンテンツがある場合は、検証フレームワークにサブスクリプションをやり直すように指示する必要があります。

あなたの場合、動的コンテンツはダイログです。古いコンテンツで新しい div が作成されるため、ダイアログの作成/オープン後にバリデーターを再適用する必要があります。

$.validator.unobtrusive.parse("#dialog");
于 2012-05-28T06:02:05.067 に答える