验证插件使用笔记

$().ready(function() {
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
    var length = value.length;
    for(var i = 0; i < value.length; i++){
        if(value.charCodeAt(i) > 127){
            length++;
        }
    }
  return this.optional(element) || ( length >= param[0] && length <= param[1] );   
}, $.validator.format("请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)"));

$form
.validate({ rules: { stopoverContain: {
byteRangeLength:[6,20], remote: { url: pageConfig.url.validCityCode, type:
"post", dataFilter: function (str) {//接收后台传过来的数据,再进行判断(str是后台返过来的值)。这里的后台逻辑是,后台如果返回的是空,则验证成功,否则不成功
            
return str === ''; }, data: {//要传给后台的参数 city: function () { return $form.find('[name="stopoverContain"]').val().toUpperCase(); } } }, judgeOtherFunc:[function (value,element) {//自定义验证方法 var reg=/^([A-Z]{2}|[A-Z]{4})\d{1,5}-\d{1,5}$/; return reg.test(value) }] }, }, messages: {
remote:"输入的city码不存在,请重新输入",
judgeOtherFunc:"请输入CA90-100或CAAF90-100格式的航班号"
 }) 
});

$.validator.addMethod("airLineCodeR", function(value) {
var flag = false;
$.ajax({
type:"POST",
url: options.config.url.checkData,
async:false,//同步
data:{json:JSON.stringify({'airLineCode':value})}
}).then(function (res) {
res.error.code==0 && (flag=true);
});
return flag;
},"航司不存在,请修改后提交");
 

 页面上配置remote:https://blog.csdn.net/qishuo_java/article/details/50678358

使用ajax自定验证方法:https://blog.csdn.net/w1014074794/article/details/39552715

posted @ 2019-02-15 15:09  志誠  阅读(121)  评论(0编辑  收藏  举报