@alexsab-ru/scripts 0.15.2 → 0.15.3

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.
Files changed (2) hide show
  1. package/lib/form.js +23 -7
  2. package/package.json +1 -1
package/lib/form.js CHANGED
@@ -22,19 +22,35 @@ export const maskphone = (e) => {
22
22
  };
23
23
 
24
24
 
25
- export const phoneChecker = (phone) => {
25
+ export const phoneChecker = (phone, options = {}) => {
26
+ // Опция silent:
27
+ // - true => функция работает в "тихом" режиме (НЕ показывает сообщения), возвращает только true|false
28
+ // - false => ведёт себя как раньше: показывает разные сообщения об ошибках
29
+ const { silent = false } = options;
30
+
26
31
  let form = phone.closest("form");
32
+
33
+ // Пустое значение
27
34
  if (!phone.value.length) {
28
- showErrorMes(form, ".phone", "Телефон является обязательным полем");
35
+ if (!silent && form) {
36
+ showErrorMes(form, ".phone", "Телефон является обязательным полем");
37
+ }
29
38
  return false;
30
- } else {
31
- const phoneRe = new RegExp(/^\+7 [0-9]{3} [0-9]{3}-[0-9]{2}-[0-9]{2}$/);
32
- if (!phoneRe.test(phone.value) || noValidPhone(phone.value)) {
39
+ }
40
+
41
+ // Формат и анти-флуд (одинаковые цифры)
42
+ const phoneRe = new RegExp(/^\+7 [0-9]{3} [0-9]{3}-[0-9]{2}-[0-9]{2}$/);
43
+ if (!phoneRe.test(phone.value) || noValidPhone(phone.value)) {
44
+ if (!silent && form) {
33
45
  showErrorMes(form, ".phone", "Введен некорректный номер телефона");
34
- return false;
35
46
  }
47
+ return false;
48
+ }
49
+
50
+ // Валидно — в шумном режиме прячем текст ошибки
51
+ if (!silent && form) {
52
+ showErrorMes(form, ".phone", "");
36
53
  }
37
- showErrorMes(form, ".phone", "");
38
54
  return true;
39
55
  };
40
56
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexsab-ru/scripts",
3
- "version": "0.15.2",
3
+ "version": "0.15.3",
4
4
  "description": "common libs for websites",
5
5
  "main": "index.js",
6
6
  "scripts": {