0

少し古い MVC2 サイトを新しくておしゃれな MVC4 サイトに変換しようとしています。これまでのところ、私は本当にサイトの検証部分で立ち往生しているだけです. 特定の値の一意性をチェックし、それが実際に一意である場合はフォームを送信できるようにするjquery関数があり、そうでない場合は送信されません。また、特定の変数が設定されている場合にのみ必要です...必要に応じて「isFlagSet」。そうであれば、required は真です...そして、一意性をリモートでチェックします。jquery検証関数は以下です

$('#eEncId').validate({
    rules: {
        HospitalFinNumber: {
            required: function (element) {
                debugger;
                return '@isFlagSet' != 'True'; //$('AddEnc').val() === 'AddEnc';
            },
            minlength: 6,
            remote: function () {
                debugger;
                return {
                    url: '@Url.Action("ValidateHosFin", "EditEncounter")',
                    data: { hospitalFin: $('#HospitalFinNumber').val(), encflag: '@encflag' }
                };
            }
        },
        DateOfBirth: {
            required: true
        },
        AdminDate: {
            required: true
        },
        Comment: {
            required: function (element) {
                return $(element).val().length > 4000;
            },
            maxlength: 4000
        }
    },
    messages: {
        HospitalFinNumber: 'Please Enter a valid Hospital Fin number',
        DateOfBirth: 'Please enter a valid Date Of Birth',
        AdmitDate: 'Please select an Admit Date',
        Comment: 'Why dont you stop attempting to put in more than 4000 characters?  Thanks...'
    }
});

かなり簡単に見えますよね?まあ、それはMVC2にありました。今、私はいくつかの論理的な矛盾に直面しています (私自身の弱い心の中で)。また、リモート関数を呼び出しているようには見えません。リモートデバッガーに入っていますが。私は何か間違ったことをしていますか?unobtrusive-ajax を使用していなくても、Model フィールドにリモート属性を設定する必要がありますか? 皆さんは何をお勧めしますか?

4

1 に答える 1

0

リモート関数を正常に呼び出すには、戻りパラメーターリストに型引数も必要なようです....

remote: function () {
    debugger;
    return {
        url: '@Url.Action("ValidateHosFin", "EditEncounter")',
        type: "POST",
        data: { hospitalFin: $('#HospitalFinNumber').val(), encflag: '@encflag' }
    };
}
于 2012-12-06T15:00:40.607 に答える