Skip to content

Commit e969b11

Browse files
Ionut Tanasasilverbux
authored andcommitted
Added validation to forgot password form (silverbux#34)
* Added validation to forgot password form * Showing error message instead of disabling button
1 parent 3b6ae3a commit e969b11

File tree

3 files changed

+33
-12
lines changed

3 files changed

+33
-12
lines changed
Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1-
<form ng-submit="vm.submit()" class="ForgotPassword-form">
1+
<form ng-submit="vm.submit()" class="ForgotPassword-form" name="vm.forgotPasswordForm" novalidate>
22
<div class="callout callout-danger" ng-if="vm.errorTrigger">
33
<h4>Error:</h4>
44
<p>Please check your email and try again.</p>
55
</div>
6-
<div class="form-group has-feedback">
7-
<input type="email" class="form-control" placeholder="Please enter your email address" ng-model="vm.email">
6+
<div class="form-group has-feedback" ng-class="{ 'has-error': vm.forgotPasswordForm.email.$invalid && ( vm.formSubmitted || vm.forgotPasswordForm.email.$touched) }">
7+
<input type="email" class="form-control" placeholder="Please enter your email address"
8+
name="email"
9+
ng-model="vm.email"
10+
ng-required="true"
11+
ng-pattern="/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/">
812
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
13+
<p ng-show="vm.forgotPasswordForm.email.$error.email && ( vm.formSubmitted || vm.forgotPasswordForm.email.$touched)" class="help-block">This is not a valid email</p>
14+
<p ng-show="vm.forgotPasswordForm.email.$error.required && ( vm.formSubmitted || vm.forgotPasswordForm.email.$touched)" class="help-block">Email is required.</p>
915
</div>
1016
<div class="row">
11-
<div class="col-xs-8">
12-
</div>
13-
<div class="col-xs-4">
14-
<button type="submit" class="btn btn-primary btn-block btn-flat">Submit</button>
17+
<div class="col-xs-12">
18+
<button type="submit" class="btn btn-primary btn-block btn-flat">
19+
Submit
20+
</button>
1521
</div>
1622
</div>
1723
</form>

angular/app/components/forgot-password/forgot-password.component.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class ForgotPasswordController {
44

55
this.API = API
66
this.$state = $state
7-
this.errorTrigger = false
7+
this.formSubmitted = false
88
}
99

1010
$onInit () {
@@ -17,7 +17,7 @@ class ForgotPasswordController {
1717
}).then(() => {
1818
this.$state.go('login', { successMsg: `Please check your email for instructions on how to reset your password.` })
1919
}, () => {
20-
this.errorTrigger = true
20+
this.formSubmitted = true
2121
})
2222
}
2323
}

angular/app/pages/forgot-password/forgot-password.page.html

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,23 @@
33
<a ui-sref="login"><b>Admin</b>LTE</a>
44
</div>
55
<div class="login-box-body">
6-
<h3>Forgot your password?</h3>
7-
<forgot-password></forgot-password>
8-
<a ui-sref="login">Back to Login Page</a>
6+
<div class="row">
7+
<div class="col-xs-12">
8+
<div class="text-center">
9+
<h3>Forgot your password?</h3>
10+
</div>
11+
</div>
12+
</div>
13+
<div class="row">
14+
<div class="col-xs-12">
15+
<forgot-password></forgot-password>
16+
</div>
17+
</div>
18+
<br>
19+
<div class="row">
20+
<div class="col-xs-12">
21+
<a ui-sref="login">Back to Login Page</a>
22+
</div>
23+
</div>
924
</div>
1025
</div>

0 commit comments

Comments
 (0)