我正在尝试将一个半旧的 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 字段上放置一个远程属性?你们会推荐什么?