Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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 如何访问客户端的服务器端验证错误并更改css类_Javascript_Jquery_Html_Model View Controller_Unobtrusive Validation - Fatal编程技术网

Javascript 如何访问客户端的服务器端验证错误并更改css类

Javascript 如何访问客户端的服务器端验证错误并更改css类,javascript,jquery,html,model-view-controller,unobtrusive-validation,Javascript,Jquery,Html,Model View Controller,Unobtrusive Validation,我正在从事一个MVC项目,该项目使用Jquery进行客户端验证,如下所示 jQuery.validator.defaults.highlight = function (element, errorClass, validClass) { if ($(element).attr('readonly')) { return; } element = this.findByName(element

我正在从事一个MVC项目,该项目使用Jquery进行客户端验证,如下所示

jQuery.validator.defaults.highlight = function (element, errorClass, validClass) {
            if ($(element).attr('readonly')) {
                return;
            }
            element = this.findByName(element.name);
            element.parent()
                .addClass('invalid')
                .removeClass('valid');
        };
        jQuery.validator.defaults.unhighlight = function (element, errorClass, validClass) {

            element = this.findByName(element.name);
            element.parent()
                .removeClass('invalid')
                .addClass('valid');
            element.nextAll('.error').hide();
        };
通过这种验证方式,我们将显示如下所示的错误消息


但是我有一个模型,其中有几个字段需要在服务器端进行验证,因此当我发布表单时,我需要获得服务器端验证失败的字段列表,当我再次加载视图时,我需要更改失败字段的css并向用户显示错误,如何执行此操作?

在服务器端,使用模板语言,您可以在出现错误时自定义html,并指定出现的错误。在html中,您可以有条件地创建新元素,也可以应用css来显示隐藏的错误。或者使用javascript提供一些数据


简言之,您可以在服务器上更改html中的数据,以表明出现了问题,使用swig、jade等模板引擎很容易做到。

这可以通过jQuery提交上的Ajax错误方法来处理(这是一个Ajax表单帖子,对吗?)

比如:

jQuery.ajax({
  type: "POST",
  url: "/saveuser",
  dataType: "application/json",
  data: data,
  success: function (response) {
    console.log("Details saved successfully!!!");
  },
  error: function (xhr, ajaxOptions, thrownError) {
    jQuery.validator.defaults.highlight(thrownError.fieldName);
  }
});