少し古い 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 フィールドにリモート属性を設定する必要がありますか? 皆さんは何をお勧めしますか?