]>
Commit | Line | Data |
---|---|---|
d3e56c0c C |
1 | import { I18n } from '@ngx-translate/i18n-polyfill' |
2 | import { Validators } from '@angular/forms' | |
3 | import { BuildFormValidator } from '@app/shared' | |
4 | import { Injectable } from '@angular/core' | |
5 | ||
6 | @Injectable() | |
7 | export class InstanceValidatorsService { | |
8 | readonly FROM_EMAIL: BuildFormValidator | |
9 | readonly FROM_NAME: BuildFormValidator | |
10 | readonly BODY: BuildFormValidator | |
11 | ||
12 | constructor (private i18n: I18n) { | |
13 | ||
14 | this.FROM_EMAIL = { | |
15 | VALIDATORS: [ Validators.required, Validators.email ], | |
16 | MESSAGES: { | |
17 | 'required': this.i18n('Email is required.'), | |
18 | 'email': this.i18n('Email must be valid.') | |
19 | } | |
20 | } | |
21 | ||
22 | this.FROM_NAME = { | |
23 | VALIDATORS: [ | |
24 | Validators.required, | |
25 | Validators.minLength(1), | |
26 | Validators.maxLength(120) | |
27 | ], | |
28 | MESSAGES: { | |
29 | 'required': this.i18n('Your name is required.'), | |
30 | 'minlength': this.i18n('Your name must be at least 1 character long.'), | |
31 | 'maxlength': this.i18n('Your name cannot be more than 120 characters long.') | |
32 | } | |
33 | } | |
34 | ||
35 | this.BODY = { | |
36 | VALIDATORS: [ | |
37 | Validators.required, | |
38 | Validators.minLength(3), | |
39 | Validators.maxLength(5000) | |
40 | ], | |
41 | MESSAGES: { | |
42 | 'required': this.i18n('A message is required.'), | |
43 | 'minlength': this.i18n('The message must be at least 3 characters long.'), | |
44 | 'maxlength': this.i18n('The message cannot be more than 5000 characters long.') | |
45 | } | |
46 | } | |
47 | } | |
48 | } |