我目前正在开发一个计算总计的表单。例如,字段C中的值将从输入到字段A和字段B的输入项生成。
Field A - 10,
Field B - 20
Field C - 30
字段C对其进行一些验证,使其小于某个值。我正在使用MVC中的DataAnnotations库,我已经连接了jquery.unobtrusive库以在客户端上应用验证。我还选择了以下代码来显示错误的每个字段的错误图标。
$(function () {
$('form').each(function () {
var validator = $(this).data('validator');
validator.settings.showErrors = onValidated;
});
function onValidated(errorMap, errorList) {
$.each(errorList, function () {
onError($(this.element), this.message);
});
if (this.settings.success) {
$.each(this.successList, function () {
onSuccess($(this));
});
}
}
function onSuccess(inputElement) {
var fieldId = getElementFieldName(inputElement);
var error = $("#" + fieldId + "Error").hide();
error.attr('title', '');
}
function onError(inputElement, message) {
var fieldId = getElementFieldName(inputElement);
var error = $("#" + fieldId + "Error").show();
error.attr('title', message);
}
这会显示或隐藏所选元素的图标 - 因此,如果我在字段A中输入了不正确的值,那么它将相应地验证它并显示带有错误消息的图标。
我不确定这样做的最佳方式,但我认为可能在输入后验证所有字段是最好的想法 - 然后如果更新字段A,则检查字段C.
我也在寻找一个可以连接方法来检查任何错误的点 - 目前我可以通过寻找任何图标来做到这一点 - 但我看不出有利于线路这样它可以运行一次而不是每个字段。