Sin Descripción

validate.js 3.6KB

    $.define(["jQuery", "util"], "validate", function($, util) { var returnTrue = function() { return true; }, returnFalse = function() { return false; }, vDef = function(ps, name) { return function(obj) { return "invalid validate[" + name + "] option"; } }, vRequired = function(msg) { return function(obj) { var v = obj.get(); if((undefined === v) || ("" === v) || ($.isArray(v) && v.length === 0)) { return msg || "必输字段"; } }; }, vMax = function(ps) { var tn = $.type(ps), msg = "不能大于"; if(tn === "object") { msg = ps.msg || (msg + ps.val); ps = ps.val; tn = $.type(ps); } else { msg = msg + ps; } if(tn === "number") { return function(obj) { var val = obj.get(); if(val) { if($.iaArray(val)) { if(val.length > ps) { return msg; } } else { if(val > ps) { return msg; } } } else if(0 === val) { if(0 > ps) { return msg; } } return true; }; } else if(tn === "string") { var val = obj.get(); if(val) { if(val > ps) { return msg; } } } }, vMin = function(ps) { var tn = $.type(ps), msg = "不能小于"; if(tn === "object") { msg = ps.msg || (msg + ps.val); ps = ps.val; tn = $.type(ps); } else { msg = msg + ps; } if(tn === "number") { return function(obj) { var val = obj.get(); if(val) { if($.iaArray(val)) { if(val.length < ps) { return msg; } } else { if(val < ps) { return msg; } } } else if(0 === val) { if(0 > ps) { return msg; } } return true; }; } else if(tn === "string") { var val = obj.get(); if(val) { if(val < ps) { return msg; } } } }, vLen = function(ps) { var msg = "长度不等于"; if($.type(ps) === "object") { msg = ps.msg || (msg + ps.val); ps = ps.val; } else { msg = msg + ps; } return function(obj) { var val = obj.get(); if(val || (val === "")) { if(val.length !== ps) { return msg; } } }; }, vMinLen = function(ps) { var msg = "长度小于"; if($.type(ps) === "object") { msg = ps.msg || (msg + ps.val); ps = ps.val; } else { msg = msg + ps; } return function(obj) { var val = obj.get(); if(val || (val === "")) { if(val.length < ps) { return msg; } } }; }, vMaxLen = function(ps) { var msg = "长度大于"; if($.type(ps) === "object") { msg = ps.msg || (msg + ps.val); ps = ps.val; } else { msg = msg + ps; } return function(obj) { var val = obj.get(); if(val || (val === "")) { if(val.length > ps) { return msg; } } }; }, impls = { "_def": vDef, "required": vRequired, "max": vMax, "min": vMin, "len": vLen, "minLen": vMinLen, "maxLen": vMaxLen }, reg = function(name, hand) { impls[name] = hand; }, parseRules = function(obj) { var ret = []; for(key in obj) { var impl = impls[key] || impls["_def"]; ret.push(impl(obj[key], key)); } return ret; }, configForm = function(form, options) { for(var key in options) { var item = form.item(key), option = options[key]; if(item && option) { item.addRules(parseRules(option)); } } }; return { register: reg, form: configForm, }; });