Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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 - Fatal编程技术网

Javascript 在指定';突出显示';和';非高亮度';jQuery'中的方法;什么是验证插件?

Javascript 在指定';突出显示';和';非高亮度';jQuery'中的方法;什么是验证插件?,javascript,jquery,Javascript,Jquery,考虑jQuery验证插件的这个应用程序: (function($) { 'use strict'; $('form[data-behavior="validate"]').validate({ errorElement: 'span', ignore: ':hidden, .select-dropdown', normalizer: function(value) { if (!value) value = ''; if ($(this)

考虑jQuery验证插件的这个应用程序:

(function($) {
  'use strict';
  $('form[data-behavior="validate"]').validate({
    errorElement: 'span',
    ignore: ':hidden, .select-dropdown',
    normalizer: function(value) {
      if (!value) value = '';

      if ($(this).is('[data-currency-mask]')) {
        return value.replace(/\$/g, '').replace(/,/g, '');
      }

      return value;
    },
    highlight: function(element) {
      $(element).addClass('invalid');
      $(element.form).find('label[for=' + element.id + ']').addClass('invalid');
    },
    unhighlight: function(element) {
      $(element).removeClass('invalid');
      $(element.form).find('label[for=' + element.id + ']').removeClass('invalid');
    }
  });
})(jQuery);
此自定义验证器向元素及其标签添加/删除错误类
“invalid”
。结果如下所示(其中使用Materialize.css):

高亮显示
取消高亮显示
函数中存在一些代码重复,我希望消除这些重复;此外,似乎我可以使用
errorClass
属性(cf.)代替硬编码
“无效”


我尝试在传递给
.validate()
的对象中设置
errorClass:“invalid”
,然后在
高亮显示
取消高亮显示
方法中使用
errorClass
而不是
“invalid”
,但这似乎不起作用。我如何重构这段代码?

我没有足够的声誉来发表评论,因为人们不会炒作我的答案,也不会以任何方式来获得声誉

但是,我注意到的第一件事是

如果(!value)值=“”

应该是

if(!value){value='';}

也可以用

value=value | |“”

或者,根据您使用的ECMAscript版本,您甚至可以保存一行代码并在参数中对其进行初始化

normalizer:function(value='')