在项目开发过程中,使用jQuery 插件应该是不可避免的事。毕竟辣么强大有好用的插件库,不用它,做出来的项目估计都等不了大雅之堂,,,
 
 
         今天在开发项目时,出现如下图示的Bug。

问题分析:
 
参考一些大牛的博客,得到了 2 种如下答案。
 
        (1)项目中,文件的编码格式不统一(例如有的是UTF-8,有的可能写成了GBK)
 
(2)jquery.validate.messages_cn.js 插件搞得鬼啦!
 
个人项目中的问题属于第(2)中原因,项目中插件文件里的内容就是乱码,所以显示乱码。如下图所示:

问题解决方法:
         下载 jquery-validation-1.14.0.zip 压缩包,找到  dist/localization/messages_zh.js ,打开替换相应内容即可(版本可以不同)。
         另外,messages_zh.js 文件具体内容给出如下:
(function( factory ) {
  if ( typeof define === "function" && define.amd ) {
    define( ["jquery", "../jquery.validate"], factory );
  } else {
    factory( jQuery );
  }
}(function( $ ) {
/*
 * Translated default messages for the jQuery validation plugin.
 * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語)
 */
$.extend($.validator.messages, {
  required: "这是必填字段",
  remote: "请修正此字段",
  email: "请输入有效的电子邮件地址",
  url: "请输入有效的网址",
  date: "请输入有效的日期",
  dateISO: "请输入有效的日期 (YYYY-MM-DD)",
  number: "请输入有效的数字",
  digits: "只能输入数字",
  creditcard: "请输入有效的信用卡号码",
  equalTo: "你的输入不相同",
  extension: "请输入有效的后缀",
  maxlength: $.validator.format("最多可以输入 {0} 个字符"),
  minlength: $.validator.format("最少要输入 {0} 个字符"),
  rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"),
  range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),
  max: $.validator.format("请输入不大于 {0} 的数值"),
  min: $.validator.format("请输入不小于 {0} 的数值")
});
}));PS:
有的人可能会疑问,网上关于 jquery.validate.messages_cn.js 插件的资料很少啊!可能不知道下载呢?到哪里下载啊?为什么搜索不到这个插件的下载方式,或者到一些网站上下载需要积分,,,
其实,这个插件上面已经提到过,是 jquery-validation-1.14.0.zip 压缩包中的 dist/localization/messages_zh.js
 
文件,个人在网上找了很久,才发现这个本质问题,可能是一些人在开发的过程中,使用了中文信息提示包(jQuery)为了便于记忆,改了下名字而已。
补充:
 
如果看了博文还不是太明白,可以参考下面的文章,搜索资料的时候,感觉文章写得很好,这里分享一下。
jQuery-Validate : http://www.runoob.com/jquery/jquery-plugin-validate.html










