aboutsummaryrefslogtreecommitdiffstats
path: root/src/helpers/validation-helpers.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/validation-helpers.js')
-rw-r--r--src/helpers/validation-helpers.js67
1 files changed, 0 insertions, 67 deletions
diff --git a/src/helpers/validation-helpers.js b/src/helpers/validation-helpers.js
deleted file mode 100644
index 116f19905..000000000
--- a/src/helpers/validation-helpers.js
+++ /dev/null
@@ -1,67 +0,0 @@
1import { defineMessages } from 'react-intl';
2import isEmail from 'validator/lib/isEmail';
3
4const messages = defineMessages({
5 required: {
6 id: 'validation.required',
7 defaultMessage: '!!!Field is required',
8 },
9 email: {
10 id: 'validation.email',
11 defaultMessage: '!!!Email not valid',
12 },
13 url: {
14 id: 'validation.url',
15 defaultMessage: '!!!Not a valid URL',
16 },
17 minLength: {
18 id: 'validation.minLength',
19 defaultMessage: '!!!Too few characters',
20 },
21 oneRequired: {
22 id: 'validation.oneRequired',
23 defaultMessage: '!!!At least one is required',
24 },
25});
26
27export function required({ field }) {
28 const isValid = (field.value.trim() !== '');
29 return [isValid, window.ferdi.intl.formatMessage(messages.required, { field: field.label })];
30}
31
32export function email({ field }) {
33 const value = field.value.trim();
34 const isValid = isEmail(value);
35 return [isValid, window.ferdi.intl.formatMessage(messages.email, { field: field.label })];
36}
37
38export function url({ field }) {
39 const value = field.value.trim();
40 let isValid = false;
41
42 if (value !== '') {
43 // eslint-disable-next-line
44 isValid = Boolean(value.match(/(^|[\s.:;?\-\]<(])(https?:\/\/[-\w;/?:@&=+$|_.!~*|'()[\]%#,☺]+[\w/#](\(\))?)(?=$|[\s',|().:;?\-[\]>)])/i));
45 } else {
46 isValid = true;
47 }
48
49 return [isValid, window.ferdi.intl.formatMessage(messages.url, { field: field.label })];
50}
51
52export function minLength(length) {
53 return ({ field }) => {
54 let isValid = true;
55 if (field.touched) {
56 isValid = field.value.length >= length;
57 }
58 return [isValid, window.ferdi.intl.formatMessage(messages.minLength, { field: field.label, length })];
59 };
60}
61
62export function oneRequired(targets) {
63 return ({ field, form }) => {
64 const invalidFields = targets.filter((target) => form.$(target).value === '');
65 return [targets.length !== invalidFields.length, window.ferdi.intl.formatMessage(messages.required, { field: field.label })];
66 };
67}