PageSourceSearch

https://www.eaglebrookchurch.com/Obsidian/ValidationRules.js

js eaglebrookchurch.com collected 2026-09-24 18:31:24 UTC 11,780 bytes, 291 lines download raw bytes

1System.register(['@Obsidian/Utility/booleanUtils', '@Obsidian/Utility/dateKey', '@Obsidian/Utility/email', '@Obsidian/Utility/numberUtils', '@Obsidian/Utility/stringUtils', '@Obsidian/Utility/url', '@Obsidian/Utility/validationRules', '@Obsidian/Utility/regexPatterns'], (function (exports) {
2    'use strict';
3    var asBooleanOrNull, DateKey, isEmail, toNumberOrNull, isNullOrWhiteSpace, containsHtmlTag, isUrl, defineRule, getSpecialCharacterPattern, getEmojiPattern, getSpecialFontPattern;
4    return {
5        setters: [function (module) {
6            asBooleanOrNull = module.asBooleanOrNull;
7        }, function (module) {
8            DateKey = module.default;
9        }, function (module) {
10            isEmail = module.isEmail;
11        }, function (module) {
12            toNumberOrNull = module.toNumberOrNull;
13        }, function (module) {
14            isNullOrWhiteSpace = module.isNullOrWhiteSpace;
15            containsHtmlTag = module.containsHtmlTag;
16        }, function (module) {
17            isUrl = module.isUrl;
18        }, function (module) {
19            defineRule = module.defineRule;
20            exports({ containsRequiredRule: module.containsRequiredRule, defineRule: module.defineRule, normalizeRules: module.normalizeRules, parseRule: module.parseRule, rulesPropType: module.rulesPropType, validateValue: module.validateValue });
21        }, function (module) {
22            getSpecialCharacterPattern = module.getSpecialCharacterPattern;
23            getEmojiPattern = module.getEmojiPattern;
24            getSpecialFontPattern = module.getSpecialFontPattern;
25        }],
26        execute: (function () {
27
28            function convertToNumber(value) {
29              if (typeof value === "number") {
30                return value;
31              }
32              if (typeof value === "string") {
33                return toNumberOrNull(value) || 0;
34              }
35              return 0;
36            }
37            function isNumeric(value) {
38              if (typeof value === "number") {
39                return true;
40              }
41              if (typeof value === "string") {
42                return toNumberOrNull(value) !== null;
43              }
44              return false;
45            }
46            defineRule("required", (value, params) => {
47              var options = params && params.length >= 1 && typeof params[0] === "string" ? JSON.parse(params[0]) : {};
48              if (typeof value === "string") {
49                var allowEmptyString = !!options.allowEmptyString;
50                if (!allowEmptyString && isNullOrWhiteSpace(value)) {
51                  return "is required";
52                }
53                return true;
54              }
55              if (typeof value === "number" && value === 0) {
56                return "is required";
57              }
58              if (Array.isArray(value) && value.length === 0) {
59                return "is required";
60              }
61              if (typeof value === "boolean") {
62                return true;
63              }
64              if (!value) {
65                return "is required";
66              }
67              return true;
68            });
69            defineRule("nospecialcharacters", value => {
70              if (typeof value === "string") {
71                if (getSpecialCharacterPattern().test(value)) {
72                  return "cannot contain special characters such as quotes, parentheses, etc.";
73                }
74              }
75              return true;
76            });
77            defineRule("noemojisorspecialfonts", value => {
78              if (typeof value === "string") {
79                if (getEmojiPattern().test(value) || getSpecialFontPattern().test(value)) {
80                  return "cannot contain emojis or special fonts.";
81                }
82              }
83              return true;
84            });
85            defineRule("notblank", value => {
86              if (value === undefined || value === null || value === "") {
87                return "cannot be blank";
88              }
89              return true;
90            });
91            defineRule("email", value => {
92              if (isNullOrWhiteSpace(value)) {
93                return true;
94              }
95              if (!isEmail(value)) {
96                return "must be a valid email";
97              }
98              return true;
99            });
100            defineRule("notequal", (value, params) => {
101              var compare = params && params.length >= 1 ? params[0] : undefined;
102              if (isNumeric(value) && isNumeric(compare)) {
103                if (convertToNumber(value) !== convertToNumber(compare)) {
104                  return true;
105                }
106              } else if (typeof value === "boolean") {
107                if (value !== asBooleanOrNull(compare)) {
108                  return true;
109                }
110              } else if (value !== compare) {
111                return true;
112              }
113              return "must not equal ".concat(compare);
114            });
115            defineRule("equal", (value, params) => {
116              var compare = params && params.length >= 1 ? params[0] : undefined;
117              if (isNumeric(value) && isNumeric(compare)) {
118                if (convertToNumber(value) === convertToNumber(compare)) {
119                  return true;
120                }
121              } else if (typeof value === "boolean") {
122                if (value === asBooleanOrNull(compare)) {
123                  return true;
124                }
125              } else if (value === compare) {
126                return true;
127              }
128              return "must equal ".concat(compare);
129            });
130            defineRule("gt", (value, params) => {
131              var compare = params && params.length >= 1 ? params[0] : undefined;
132              if (isNullOrWhiteSpace(value)) {
133                return true;
134              }
135              if (isNumeric(value) && isNumeric(compare)) {
136                if (convertToNumber(value) > convertToNumber(compare)) {
137                  return true;
138                }
139              }
140              return "must be greater than ".concat(compare);
141            });
142            defineRule("gte", (value, params) => {
143              var compare = params && params.length >= 1 ? params[0] : undefined;
144              if (isNullOrWhiteSpace(value)) {
145                return true;
146              }
147              if (isNumeric(value) && isNumeric(compare)) {
148                if (convertToNumber(value) >= convertToNumber(compare)) {
149                  return true;
150                }
151              }
152              return "must not be less than ".concat(compare);
153            });
154            defineRule("lt", (value, params) => {
155              var compare = params && params.length >= 1 ? params[0] : undefined;
156              if (isNullOrWhiteSpace(value)) {
157                return true;
158              }
159              if (isNumeric(value) && isNumeric(compare)) {
160                if (convertToNumber(value) < convertToNumber(compare)) {
161                  return true;
162                }
163              }
164              return "must be less than ".concat(compare);
165            });
166            defineRule("lte", (value, params) => {
167              var compare = params && params.length >= 1 ? params[0] : undefined;
168              if (isNullOrWhiteSpace(value)) {
169                return true;
170              }
171              if (isNumeric(value) && isNumeric(compare)) {
172                if (convertToNumber(value) <= convertToNumber(compare)) {
173                  return true;
174                }
175              }
176              return "must not be more than ".concat(compare);
177            });
178            defineRule("datekey", value => {
179              var asString = value;
180              if (!DateKey.getYear(asString)) {
181                return "must have a year";
182              }
183              if (!DateKey.getMonth(asString)) {
184                return "must have a month";
185              }
186              if (!DateKey.getDay(asString)) {
187                return "must have a day";
188              }
189              return true;
190            });
191            defineRule("number", value => {
192              if (isNullOrWhiteSpace(value)) {
193                return true;
194              }
195              if (isNumeric(value)) {
196                return true;
197              }
198              return "must be a valid number.";
199            });
200            defineRule("integer", value => {
201              if (isNullOrWhiteSpace(value)) {
202                return true;
203              }
204              if (/^-?[0-9]+$/.test(String(value))) {
205                return true;
206              }
207              return "must be an integer value.";
208            });
209            defineRule("decimal", value => {
210              if (isNullOrWhiteSpace(value)) {
211                return true;
212              }
213              if (/^-?[0-9]+(\.[0-9]+)?$/.test(String(value))) {
214                return true;
215              }
216              return "must be a decimal value.";
217            });
218            defineRule("ssn", value => {
219              if (isNullOrWhiteSpace(value)) {
220                return true;
221              }
222              if (/^[0-9]{3}-[0-9]{2}-[0-9]{4}$/.test(String(value))) {
223                return true;
224              }
225              if (/^[0-9]{9}$/.test(String(value))) {
226                return true;
227              }
228              return "must be a valid social security number";
229            });
230            defineRule("url", value => {
231              if (isNullOrWhiteSpace(value)) {
232                return true;
233              }
234              if (isUrl(String(value))) {
235                return true;
236              }
237              return "must be a valid URL";
238            });
239            defineRule("endswith", (value, params) => {
240              var compare = params && params.length >= 1 ? params[0] : undefined;
241              if (isNullOrWhiteSpace(value)) {
242                return true;
243              }
244              if (!String(compare)) {
245                return true;
246              }
247              if (String(value).endsWith(String(compare))) {
248                return true;
249              }
250              return "must end with \"".concat(compare, "\"");
251            });
252            defineRule("startswith", (value, params) => {
253              var compare = params && params.length >= 1 ? params[0] : undefined;
254              if (isNullOrWhiteSpace(value)) {
255                return true;
256              }
257              if (!String(compare)) {
258                return true;
259              }
260              if (String(value).startsWith(String(compare))) {
261                return true;
262              }
263              return "must start with \"".concat(compare, "\"");
264            });
265            defineRule("equalsfield", (value, params) => {
266              var error = params && params.length >= 1 ? params[0] : undefined;
267              var compare = params ? params.slice(1).join(",") : "";
268              if (isNumeric(value) && isNumeric(compare)) {
269                if (convertToNumber(value) === convertToNumber(compare)) {
270                  return true;
271                }
272              } else if (typeof value === "boolean") {
273                if (value === asBooleanOrNull(compare)) {
274                  return true;
275                }
276              } else if (value === compare) {
277                return true;
278              }
279              return typeof error === "string" ? error : "must match value";
280            });
281            defineRule("nohtml", value => {
282              if (isNullOrWhiteSpace(value)) {
283                return true;
284              }
285              return !containsHtmlTag(String(value)) || "contains invali
285d characters. Please make sure that your entries do not contain any angle brackets like < or >.";
286            });
287
288        })
289    };
290}));
291//# sourceMappingURL=ValidationRules.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.