src/main/resources/static/ajax/libs/validate/jquery.validate.min.js
(开头部分) 29KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*! jQuery Validation Plugin - v1.13.0 - 7/1/2014
* http://jqueryvalidation.org/
* Copyright (c) 2014 Jörn Zaefferer; Licensed MIT */
!function (a) {
"function" == typeof define && define.amd ? define(["jquery"], a) : a(jQuery)
}(function (a) {
a.extend(a.fn, {
validate: function (b) {
if (!this.length) return void(b && b.debug && window.console && console.warn("Nothing selected, can't validate, returning nothing."));
var c = a.data(this[0], "validator");
return c ? c : (this.attr("novalidate", "novalidate"), c = new a.validator(b, this[0]), a.data(this[0], "validator", c), c.settings.onsubmit && (this.validateDelegate(":submit", "click", function (b) {
c.settings.submitHandler && (c.submitButton = b.target), a(b.target).hasClass("cancel") && (c.cancelSubmit = !0), void 0 !== a(b.target).attr("formnovalidate") && (c.cancelSubmit = !0)
}), this.submit(function (b) {
function d() {
var d;
return c.settings.submitHandler ? (c.submitButton && (d = a("<input type='hidden'/>").attr("name", c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)), c.settings.submitHandler.call(c, c.currentForm, b), c.submitButton && d.remove(), !1) : !0
}
return c.settings.debug && b.preventDefault(), c.cancelSubmit ? (c.cancelSubmit = !1, d()) : c.form() ? c.pendingRequest ? (c.formSubmitted = !0, !1) : d() : (c.focusInvalid(), !1)
})), c)
}, valid: function () {
var b, c;
return a(this[0]).is("form") ? b = this.validate().form() : (b = !0, c = a(this[0].form).validate(), this.each(function () {
b = c.element(this) && b
})), b
}, removeAttrs: function (b) {
var c = {}, d = this;
return a.each(b.split(/\s/), function (a, b) {
c[b] = d.attr(b), d.removeAttr(b)
}), c
}, rules: function (b, c) {
var d, e, f, g, h, i, j = this[0];
if (b) switch (d = a.data(j.form, "validator").settings, e = d.rules, f = a.validator.staticRules(j), b) {
case"add":
a.extend(f, a.validator.normalizeRule(c)), delete f.messages, e[j.name] = f, c.messages && (d.messages[j.name] = a.extend(d.messages[j.name], c.messages));
break;
case"remove":
return c ? (i = {}, a.each(c.split(/\s/), function (b, c) {
i[c] = f[c], delete f[c], "required" === c && a(j).removeAttr("aria-required")
}), i) : (delete e[j.name], f)
}
return g = a.validator.normalizeRules(a.extend({}, a.validator.classRules(j), a.validator.attributeRules(j), a.validator.dataRules(j), a.validator.staticRules(j)), j), g.required && (h = g.required, delete g.required, g = a.extend({required: h}, g), a(j).attr("aria-required", "true")), g.remote && (h = g.remote, delete g.remote, g = a.extend(g, {remote: h})), g
}
}), a.extend(a.expr[":"], {
blank: function (b) {
return !a.trim("" + a(b).val())
}, filled: function (b) {
return !!a.trim("" + a(b).val())
}, unchecked: function (b) {
return !a(b).prop("checked")
}
}), a.validator = function (b, c) {
this.settings = a.extend(!0, {}, a.validator.defaults, b), this.currentForm = c, this.init()
}, a.validator.format = function (b, c) {
return 1 === arguments.length ? function () {
var c = a.makeArray(arguments);
return c.unshift(b), a.validator.format.apply(this, c)
} : (arguments.length > 2 && c.constructor !== Array && (c = a.makeArray(arguments).slice(1)), c.constructor !== Array && (c = [c]), a.each(c, function (a, c) {
b = b.replace(new RegExp("\\{" + a + "\\}", "g"), function () {
return c
后面还有 388 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。