Преглед изворни кода

:lock: Added regex for distance validation

tabs-content
tomit4 пре 3 година
родитељ
комит
029051938d
1 измењених фајлова са 10 додато и 6 уклоњено
  1. 10
    6
      frontend/src/entities/survey/survey.answer.validator.js

+ 10
- 6
frontend/src/entities/survey/survey.answer.validator.js Прегледај датотеку

7
         minDomainSegments: 2,
7
         minDomainSegments: 2,
8
         tlds: { allow: domains },
8
         tlds: { allow: domains },
9
     }),
9
     }),
10
-    // TODO: password validation is a moving target with regex, 
10
+    // TODO: password validation is a moving target with regex,
11
     // consider using a more robust library?
11
     // consider using a more robust library?
12
     password: Joi.string()
12
     password: Joi.string()
13
         .min(14)
13
         .min(14)
14
         .max(30)
14
         .max(30)
15
         .pattern(
15
         .pattern(
16
-            new RegExp('^(?=.*[!@#$%^&*()_+\\-=[\\]{};\':"\\\\|,.<>\\/?])(?=.*[!@#$%^&*()_+\\-=[\\]{};\':"\\\\|,.<>\\/?])[a-zA-Z0-9!@#$%^&*()_+\\-=[\\]{};\':"\\\\|,.<>\\/?]{10,}$')),
16
+            new RegExp(
17
+                '^(?=.*[!@#$%^&*()_+\\-=[\\]{};\':"\\\\|,.<>\\/?])(?=.*[!@#$%^&*()_+\\-=[\\]{};\':"\\\\|,.<>\\/?])[a-zA-Z0-9!@#$%^&*()_+\\-=[\\]{};\':"\\\\|,.<>\\/?]{10,}$',
18
+            ),
19
+        ),
17
     // TODO: Change if going international (only works in usa)
20
     // TODO: Change if going international (only works in usa)
18
     zipcode: Joi.string().min(5).max(5).pattern(new RegExp('^[0-9]{5}$')),
21
     zipcode: Joi.string().min(5).max(5).pattern(new RegExp('^[0-9]{5}$')),
19
     seeking: Joi.string(),
22
     seeking: Joi.string(),
23
     pronouns: Joi.string(),
26
     pronouns: Joi.string(),
24
     language: Joi.string(),
27
     language: Joi.string(),
25
     image: Joi.any(),
28
     image: Joi.any(),
26
-    // TODO: specific distance units needed to be inputted within this field
27
-    // (i.e. km, mi, etc.) ... or just change the way the distance component
28
-    // works.
29
-    distance: Joi.string(),
29
+    // NOTE: Allows 1 to 3 digits and then distance metric
30
+    distance: Joi.string()
31
+        .min(4)
32
+        .max(15)
33
+        .pattern(new RegExp('^\\d{1,3}(\\.\\d{1,2})?\\s?(mi|km|mile|miles|kilometer|kilometers)$')),
30
     blurb: Joi.string().max(200),
34
     blurb: Joi.string().max(200),
31
     value: Joi.string(),
35
     value: Joi.string(),
32
     aspect: Joi.number(),
36
     aspect: Joi.number(),

Loading…
Откажи
Сачувај