vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
264 lines (248 loc) • 5.67 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.VaeStringSchema = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _utils = require("../utils");
var _VaeLocale = require("./VaeLocale");
var _VaeSchema2 = require("./VaeSchema");
var VaeStringSchema = exports.VaeStringSchema = /*#__PURE__*/function (_VaeSchema) {
(0, _inheritsLoose2.default)(VaeStringSchema, _VaeSchema);
function VaeStringSchema(message) {
var _this;
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.type;
}
_this = _VaeSchema.call(this, {
type: 'string'
}) || this;
_this.transform(function (v) {
return typeof v === 'number' ? String(v) : v;
}).check({
fn: _utils.isString,
message: message
});
return _this;
}
/**
* 最小长度
*/
var _proto = VaeStringSchema.prototype;
_proto.min = function min(value, message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.min;
}
return this.check({
fn: function fn(v) {
return v.length >= value;
},
message: message,
messageParams: {
min: value
},
tag: 'min'
});
}
/**
* 最大长度
*/;
_proto.max = function max(value, message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.max;
}
return this.check({
fn: function fn(v) {
return v.length <= value;
},
message: message,
messageParams: {
max: value
},
tag: 'max'
});
}
/**
* 固定长度
*/;
_proto.length = function length(value, message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.length;
}
return this.check({
fn: function fn(v) {
return v.length === value;
},
message: message,
messageParams: {
length: value
},
tag: 'length'
});
}
/**
* 邮箱地址
*/;
_proto.email = function email(message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.email;
}
return this.check({
fn: _utils.isEmail,
message: message,
tag: 'email'
});
}
/**
* 链接
*/;
_proto.url = function url(message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.url;
}
return this.check({
fn: _utils.isUrl,
message: message,
tag: 'url'
});
}
/**
* 正则
*/;
_proto.regex = function regex(value, message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.regex;
}
return this.check({
fn: function fn(v) {
value.lastIndex = 0;
return value.test(v);
},
message: message,
messageParams: {
regex: value
},
tag: 'regex'
});
}
/**
* 包含
*/;
_proto.includes = function includes(value, message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.includes;
}
return this.check({
fn: function fn(v) {
return (0, _utils.includes)(v, value);
},
message: message,
messageParams: {
includes: value
},
tag: 'includes'
});
}
/**
* 前缀
*/;
_proto.startsWith = function startsWith(value, message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.startsWith;
}
return this.check({
fn: function fn(v) {
return (0, _utils.startsWith)(v, value);
},
message: message,
messageParams: {
startsWith: value
},
tag: 'startsWith'
});
}
/**
* 后缀
*/;
_proto.endsWith = function endsWith(value, message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.endsWith;
}
return this.check({
fn: function fn(v) {
return (0, _utils.endsWith)(v, value);
},
message: message,
messageParams: {
endsWith: value
},
tag: 'endsWith'
});
}
/**
* 手机号码
*/;
_proto.phoneNumber = function phoneNumber(message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.phoneNumber;
}
return this.check({
fn: _utils.isPossibleChineseMobilePhoneNumber,
message: message,
tag: 'phoneNumber'
});
}
/**
* 身份证号码
*/;
_proto.idCardNumber = function idCardNumber(message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.idCardNumber;
}
return this.check({
fn: _utils.isChineseIDCardNumber,
message: message,
tag: 'idCardNumber'
});
}
/**
* cuid
*/;
_proto.cuid = function cuid(message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.cuid;
}
return this.check({
fn: _utils.isCuid,
message: message,
tag: 'cuid'
});
}
/**
* cuid2
*/;
_proto.cuid2 = function cuid2(message) {
if (message === void 0) {
message = _VaeLocale.VaeLocale.string.cuid2;
}
return this.check({
fn: _utils.isCuid2,
message: message,
tag: 'cuid2'
});
}
/**
* 去除两侧空字符串
*/;
_proto.trim = function trim() {
this._options.stringTrim = true;
return this;
}
/**
* 当设置了必填时,将空字符串视为已填
*/;
_proto.emptyable = function emptyable() {
this._options.stringEmptyable = true;
return this;
};
return VaeStringSchema;
}(_VaeSchema2.VaeSchema);