Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery手动验证表单。不引人注目的验证_Javascript_Jquery_Asp.net Mvc_Forms_Validation - Fatal编程技术网

Javascript 使用jquery手动验证表单。不引人注目的验证

Javascript 使用jquery手动验证表单。不引人注目的验证,javascript,jquery,asp.net-mvc,forms,validation,Javascript,Jquery,Asp.net Mvc,Forms,Validation,我目前正在开发一个带有计算总数的表单。例如,字段C中的值将由输入到字段A和字段B中的输入项生成 Field A - 10, Field B - 20 Field C - 30 字段C经过验证小于某个值。我正在使用MVC中的DataAnnotations库,并且我已经连接了jquery.unobtrusive库,以便在客户机上应用验证。我还提取了以下代码,为每个出现错误的字段显示一个错误图标 $(function () { $('form').each(function () {

我目前正在开发一个带有计算总数的表单。例如,字段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被检查


我也在寻找一个点,在这个点上我可以连接该方法来检查任何错误-目前我可以通过查找任何图标来执行此操作-但是我看不到一个好的点来连接它,以便它运行一次而不是每个字段

这将完成所有这些事情,实现起来有点容易。你不需要为此编写自定义jQuery验证。只需要列上的属性。这也将进行jQuery验证。嗨,Parth-抱歉,我不理解你关于“列上的属性”的评论。你能帮我扩展一下吗?默认的dataannotations(entityframwork)对验证有一些限制。所以我使用ExpressiveAnnotations。它允许任何值(实体列)“>”(大于)