1,ajax需要设置async参数为false,以便发送同步请求,接收返回值
2,设置指定验证的message属性
见代码:
$.extend($.fn.validatebox.defaults.rules, { dateUnique: { validator: function (value) { var response = $.ajax({ url: '', data: {'key1': value, 'key2':'value2'}, async: false, type: 'get' }).responseText; var obj = JSON.parse(response); if (obj.success){ $.fn.validatebox.defaults.rules.dateUnique.message = "[" + obj.obj + "]已设置,不可重复"; return false; } else { return true; } }, message: '' } });
二 验证指定小数精度
见代码:
$.extend($.fn.validatebox.defaults.rules, { decimal: { validator: function (value, param) { var precision = param[0]; var regStr = "^[0-9]+([.]{1}[0-9]{1,"+precision+"}){0,1}$"; var reg = new RegExp(regStr); return reg.test(value); }, message: '该字段接受最大精确到小数点后{0}位非负小数或整数.' } });
调用:
<input class="easyui-textbox" data-options="prompt:'请输入价格',required:true,validType:['decimal[2]']">