validation.js 1.27 KB
var makeValidate = {
    reg: function(val, reg) {
        return reg.test(val);
    },
    minLength: function(val, l) {
        return val.length >= l;
    },
    isNumber: function(val, bl) {
        return bl && !isNaN(parseInt(val, 10));
    }
};

function showMsg(obj) {
    var text = obj.msg || '数据格式有问题,请检查';
    var m = '<span class="error-msg validate-msg"><span class="iconfont">-</span>' + text + '</span>';

    var curMsg = $(obj.el).next('.validate-msg');

    if (curMsg.length > 0) {
        curMsg.remove();
    }

    if (obj.err) {
        $(obj.el).after(m);
    } else {
        m = '<span class="correct-msg validate-msg"><span class="iconfont">+</span>';
        $(obj.el).after(m);
    }
}

function validate(selector, conditions) {
    var pass = true;
    var $el = $(selector);
    var c;

    for (c in conditions) {
        if (makeValidate[c] && !makeValidate[c].call(null, $el.val(), conditions[c])) {
            pass = false;

            showMsg({
                el: selector,
                err: true,
                msg: conditions.errMsg
            });
        } else if (c !== 'errMsg') {
            showMsg({
                el: selector
            });
        }
    }

    return pass;
}

module.exports = {
    do: validate
};