ph-utils 0.15.4 → 0.15.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dom.d.ts +2 -2
- package/lib/dom.js +6 -4
- package/lib/validator.js +11 -6
- package/package.json +1 -1
package/lib/dom.d.ts
CHANGED
@@ -48,7 +48,7 @@ export declare function $$(tag: string, option?: {
|
|
48
48
|
* @param dom - 可选的父级 DOM 元素,默认为当前文档。
|
49
49
|
* @returns 返回匹配的第一个 HTMLElement,如果没有找到则返回 undefined。
|
50
50
|
*/
|
51
|
-
export declare function $one(selector: string | HTMLElement, dom?: DocumentContext): HTMLElement |
|
51
|
+
export declare function $one(selector: string | HTMLElement, dom?: DocumentContext): HTMLElement | null;
|
52
52
|
/**
|
53
53
|
* 为节点添加 class
|
54
54
|
* @param {HTMLElement} elem 待添加 class 的节点
|
@@ -155,7 +155,7 @@ export declare function parent(el: HTMLElement): HTMLElement;
|
|
155
155
|
* @param parent - 添加临时节点的父节点, 如果传递 null, 则通过修改原始样式方式计算,默认为: body.
|
156
156
|
* @returns The DOMRect of the element.
|
157
157
|
*/
|
158
|
-
export declare function queryHideNodeSize(hideNode: string | HTMLElement, parent?: HTMLElement): {
|
158
|
+
export declare function queryHideNodeSize(hideNode: string | HTMLElement, parent?: null | HTMLElement): {
|
159
159
|
width: number;
|
160
160
|
height: number;
|
161
161
|
};
|
package/lib/dom.js
CHANGED
@@ -78,8 +78,10 @@ export function $$(tag, option = {}, ctx) {
|
|
78
78
|
* @returns 返回匹配的第一个 HTMLElement,如果没有找到则返回 undefined。
|
79
79
|
*/
|
80
80
|
export function $one(selector, dom) {
|
81
|
-
|
82
|
-
|
81
|
+
if (typeof selector === "string") {
|
82
|
+
return (dom || document).querySelector(selector);
|
83
|
+
}
|
84
|
+
return selector;
|
83
85
|
}
|
84
86
|
/**
|
85
87
|
* 为节点添加 class
|
@@ -317,9 +319,9 @@ export function queryHideNodeSize(hideNode, parent = document.body) {
|
|
317
319
|
$tmpInner.appendChild(hideNode.cloneNode(true));
|
318
320
|
}
|
319
321
|
$tmp.appendChild($tmpInner);
|
320
|
-
parent.appendChild($tmp);
|
322
|
+
(parent || document.body).appendChild($tmp);
|
321
323
|
let rect = $tmpInner.children[0].getBoundingClientRect();
|
322
|
-
parent.removeChild($tmp);
|
324
|
+
(parent || document.body).removeChild($tmp);
|
323
325
|
return { width: rect.width, height: rect.height };
|
324
326
|
}
|
325
327
|
/**
|
package/lib/validator.js
CHANGED
@@ -13,7 +13,7 @@ const ruleRegexs = {
|
|
13
13
|
/** 验证跟其余数据相等的正则,一般用于验证再次输入密码 */
|
14
14
|
same: /^same:(.+)$/i,
|
15
15
|
/** 验证手机号的正则表达式 */
|
16
|
-
mobile: /^1[
|
16
|
+
mobile: /^1[3456789]\d{9}$/,
|
17
17
|
/** 非空验证的正则表达式 */
|
18
18
|
required: /^\S{1}.*/,
|
19
19
|
};
|
@@ -128,6 +128,8 @@ class Validator {
|
|
128
128
|
_validateRule(rules, value, data) {
|
129
129
|
let errMsg = "";
|
130
130
|
for (let rule of rules) {
|
131
|
+
if (!rule)
|
132
|
+
continue;
|
131
133
|
// 如果数据为空,则判断是否是必填
|
132
134
|
if (rule.rule === "required") {
|
133
135
|
if (value == null || !ruleFns.pattern(ruleRegexs.required, value)) {
|
@@ -147,7 +149,7 @@ class Validator {
|
|
147
149
|
}
|
148
150
|
}
|
149
151
|
else {
|
150
|
-
if (!ruleFns.pattern(rule.rule, value)) {
|
152
|
+
if (rule && !ruleFns.pattern(rule.rule, value)) {
|
151
153
|
errMsg = rule.message;
|
152
154
|
}
|
153
155
|
}
|
@@ -166,7 +168,7 @@ class Validator {
|
|
166
168
|
}
|
167
169
|
if (rule != null) {
|
168
170
|
if (typeof rule === "string") {
|
169
|
-
rules
|
171
|
+
rules.push(...this._parseStringRule(rule, schema.message));
|
170
172
|
}
|
171
173
|
else if (rule instanceof Array) {
|
172
174
|
for (let ruleItem of rule) {
|
@@ -181,13 +183,14 @@ class Validator {
|
|
181
183
|
});
|
182
184
|
}
|
183
185
|
else {
|
186
|
+
const emessage = ruleItem.message || schema.message || defaultMsg;
|
184
187
|
if (typeof ruleItem.rule === "string") {
|
185
|
-
rules.push(...this._parseStringRule(ruleItem.rule,
|
188
|
+
rules.push(...this._parseStringRule(ruleItem.rule, emessage));
|
186
189
|
}
|
187
190
|
else {
|
188
191
|
rules.push({
|
189
192
|
rule: ruleItem.rule,
|
190
|
-
message:
|
193
|
+
message: emessage,
|
191
194
|
});
|
192
195
|
}
|
193
196
|
}
|
@@ -225,7 +228,9 @@ class Validator {
|
|
225
228
|
rrule = ruleRegexs[r];
|
226
229
|
message = message || defaultMsgs[r];
|
227
230
|
}
|
228
|
-
|
231
|
+
if (rrule) {
|
232
|
+
rules.push({ rule: rrule, message: message, sameKey });
|
233
|
+
}
|
229
234
|
}
|
230
235
|
return rules;
|
231
236
|
}
|