是否有其他人遇到此问题? 在mvc中不引人注意的远程验证是一步到位的。
我正在尝试验证字段,如果该字段有效,则旁边会显示一个复选标记。一切都在工作,除了远程。
请看附件图片(gif)。 在这个gif中,我有两个带有模糊监听器的表单。我检查是否有效/无效。如果该字段有效,则显示其他复选标记,应该消失。
我让它确认电子邮件,但没有“Field Two Remote验证”#39;一旦我聚焦然后模糊,复选标记就会消失
其他人遇到此事吗?如果我做了反向,我首先输入电子邮件确认,我得到同样的问题
用于显示复选标记的代码:$.fn.addCheckIconTextBox = function (options) {
var settings = $.extend({
// These are the defaults.
id: "#" + $(this).attr('id')
}, options);
if ($(settings.id).length > 0) {
$(settings.id).blur(function (e) {
console.log("isvalid " + $('form').validate().element(settings.id));
if ($(settings.id).val() !== '') {
if ($(settings.id).hasClass('input-validation-error')) {
$(settings.id).next('.helper').attr('class', 'ico helper');
} else {
$(settings.id).next('.helper').attr('class', 'ico helper pass');
}
} else {
$(settings.id).next('.helper').attr('class', 'ico helper');
}
});
}
};
答案 0 :(得分:1)
答案基于:Trouble Attaching Call Back to Unobtrusive Validation Show Error
/**add/remove form icon when valid/invalid only when svg.helper is beside it**/
v.settings.highlight = function (element, errorClass, validClass) {
var elId = $(element).attr('id');
var checkIconEl = $('#' + elId).next('.helper');
checkIconEl.attr('class', 'ico helper');
originalHighlight.call(v, element, errorClass, validClass);
}
v.settings.unhighlight = function (element, errorClass, validClass) {
var elId = $(element).attr('id');
var checkIconEl = $('#' + elId).next('.helper');
checkIconEl.attr('class', 'ico helper pass');
originalUnHighlight.call(v, element, errorClass, validClass);
}