@@ -5,14 +5,14 @@ import { StateService } from 'ui-router-ng2';<% } %>
5
5
< % _ if ( filters . ngroute ) { - % >
6
6
import { Router } from '@angular/router' ; < % } % >
7
7
import { AuthService } from '../../../components/auth/auth.service';
8
+ import template from './signup.html';
8
9
9
10
< % _ if ( filters . flow ) { - % >
10
11
type User = {
11
12
name : string ;
12
13
email : string ;
13
14
password : string ;
14
- } ;< % } % >
15
- < % _ if ( filters . ts ) { - % >
15
+ } ;< % } % > < % _ if ( filters . ts ) { - % >
16
16
interface User {
17
17
name : string ;
18
18
email : string ;
@@ -21,7 +21,7 @@ interface User {
21
21
22
22
@Component({
23
23
selector : 'signup' ,
24
- template : require ( './signup.<%=templateExt%>' )
24
+ template ,
25
25
} )
26
26
export class SignupComponent {
27
27
user : User = {
@@ -61,19 +61,27 @@ export class SignupComponent {
61
61
< % if ( filters . ngroute ) { % > this . Router . navigateByUrl ( '/home' ) ; < % } - % >
62
62
< % if ( filters . uirouter ) { % > this . StateService . go ( 'main' ) ; < % } - % >
63
63
} )
64
- . catch ( err => {
65
- err = err . data ;
66
- this . errors = { } ; < % if ( filters . mongooseModels ) { % >
64
+ . catch ( err => { < % if ( filters . mongooseModels ) { % >
65
+ this . errors = err . errors ;
66
+
67
67
// Update validity of form fields that match the mongoose errors
68
- err . errors . forEach ( ( error , field ) => {
68
+ Object . entries ( err . errors ) . forEach ( ( [ field , error ] ) => {
69
69
this . errors [ field ] = error . message ;
70
+
71
+ if ( field === 'email' && error . kind === 'user defined' ) {
72
+ form . form . controls [ field ] . setErrors ( { inUse : true } ) ;
73
+ }
70
74
} ) ; < % } % > < % if ( filters . sequelizeModels ) { % >
75
+ this . errors = { } ;
76
+
71
77
// Update validity of form fields that match the sequelize errors
72
78
if ( err . name ) {
73
79
err . fields . forEach ( field => {
74
80
this . errors [ field ] = err . message ;
75
81
} ) ;
76
82
} < % } % >
83
+
84
+ this . submitted = false ;
77
85
} ) ;
78
86
}
79
87
}
0 commit comments