Ajout de check et messages d'erreur
sur les formulaires de connexion et création d'utilisateur.
This commit is contained in:
@@ -5,6 +5,7 @@
|
|||||||
[ngClass]="{ 'is-invalid': submitted && createCtrls.firstname.errors }" />
|
[ngClass]="{ 'is-invalid': submitted && createCtrls.firstname.errors }" />
|
||||||
<div *ngIf="submitted && createCtrls.firstname.errors" class="invalid-feedback">
|
<div *ngIf="submitted && createCtrls.firstname.errors" class="invalid-feedback">
|
||||||
<div *ngIf="createCtrls.firstname.errors.required">Firstname is required</div>
|
<div *ngIf="createCtrls.firstname.errors.required">Firstname is required</div>
|
||||||
|
<div *ngIf="createCtrls.firstname.errors.minlength">Firstname must have min 3 characters</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -13,6 +14,7 @@
|
|||||||
[ngClass]="{ 'is-invalid': submitted && createCtrls.lastname.errors }" />
|
[ngClass]="{ 'is-invalid': submitted && createCtrls.lastname.errors }" />
|
||||||
<div *ngIf="submitted && createCtrls.lastname.errors" class="invalid-feedback">
|
<div *ngIf="submitted && createCtrls.lastname.errors" class="invalid-feedback">
|
||||||
<div *ngIf="createCtrls.lastname.errors.required">Lastname is required</div>
|
<div *ngIf="createCtrls.lastname.errors.required">Lastname is required</div>
|
||||||
|
<div *ngIf="createCtrls.lastname.errors.minlength">Lastname must have min 3 characters</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -21,6 +23,7 @@
|
|||||||
[ngClass]="{ 'is-invalid': submitted && createCtrls.email.errors }" />
|
[ngClass]="{ 'is-invalid': submitted && createCtrls.email.errors }" />
|
||||||
<div *ngIf="submitted && createCtrls.email.errors" class="invalid-feedback">
|
<div *ngIf="submitted && createCtrls.email.errors" class="invalid-feedback">
|
||||||
<div *ngIf="createCtrls.email.errors.required">E-mail is required</div>
|
<div *ngIf="createCtrls.email.errors.required">E-mail is required</div>
|
||||||
|
<div *ngIf="createCtrls.email.errors.email">It's not a e-mail</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -30,6 +33,7 @@
|
|||||||
[ngClass]="{ 'is-invalid': submitted && createCtrls.username.errors }" />
|
[ngClass]="{ 'is-invalid': submitted && createCtrls.username.errors }" />
|
||||||
<div *ngIf="submitted && createCtrls.username.errors" class="invalid-feedback">
|
<div *ngIf="submitted && createCtrls.username.errors" class="invalid-feedback">
|
||||||
<div *ngIf="createCtrls.username.errors.required">Username is required</div>
|
<div *ngIf="createCtrls.username.errors.required">Username is required</div>
|
||||||
|
<div *ngIf="createCtrls.username.errors.minlength">Username must have min 3 characters</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -38,6 +42,8 @@
|
|||||||
[ngClass]="{ 'is-invalid': submitted && createCtrls.password.errors }" />
|
[ngClass]="{ 'is-invalid': submitted && createCtrls.password.errors }" />
|
||||||
<div *ngIf="submitted && createCtrls.password.errors" class="invalid-feedback">
|
<div *ngIf="submitted && createCtrls.password.errors" class="invalid-feedback">
|
||||||
<div *ngIf="createCtrls.password.errors.required">Password is required</div>
|
<div *ngIf="createCtrls.password.errors.required">Password is required</div>
|
||||||
|
<div *ngIf="createCtrls.password.errors.pattern">The pattern of the password ([A-Za-z0-9_-]
|
||||||
|
{{ '{' }}8,15{{ '}' }})</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -33,11 +33,14 @@ export class CreateUserComponent implements OnInit {
|
|||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.createForm = this.formBuilder.group({
|
this.createForm = this.formBuilder.group({
|
||||||
username: ["", Validators.required],
|
username: ["", [Validators.required, Validators.minLength(3)]],
|
||||||
password: ["", Validators.required],
|
password: [
|
||||||
firstname: ["", Validators.required],
|
"",
|
||||||
lastname: ["", Validators.required],
|
[Validators.required, Validators.pattern("^[A-Za-z0-9_-]{8,15}$")]
|
||||||
email: ["", Validators.required]
|
],
|
||||||
|
firstname: ["", [Validators.required, Validators.minLength(3)]],
|
||||||
|
lastname: ["", [Validators.required, Validators.minLength(3)]],
|
||||||
|
email: ["", [Validators.required, Validators.email]]
|
||||||
});
|
});
|
||||||
|
|
||||||
// get return url from route parameters or default to '/'
|
// get return url from route parameters or default to '/'
|
||||||
@@ -49,14 +52,15 @@ export class CreateUserComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onCreateSubmit() {
|
onCreateSubmit() {
|
||||||
|
this.loading = true;
|
||||||
this.submitted = true;
|
this.submitted = true;
|
||||||
|
|
||||||
// stop here if form is invalid
|
// stop here if form is invalid
|
||||||
if (this.createForm.invalid) {
|
if (this.createForm.invalid) {
|
||||||
|
this.loading = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.loading = true;
|
|
||||||
let createUser = new User();
|
let createUser = new User();
|
||||||
createUser.login = this.createCtrls.username.value;
|
createUser.login = this.createCtrls.username.value;
|
||||||
createUser.password = this.createCtrls.password.value;
|
createUser.password = this.createCtrls.password.value;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
[ngClass]="{ 'is-invalid': submitted && loginCtrls.username.errors }" />
|
[ngClass]="{ 'is-invalid': submitted && loginCtrls.username.errors }" />
|
||||||
<div *ngIf="submitted && loginCtrls.username.errors" class="invalid-feedback">
|
<div *ngIf="submitted && loginCtrls.username.errors" class="invalid-feedback">
|
||||||
<div *ngIf="loginCtrls.username.errors.required">Username is required</div>
|
<div *ngIf="loginCtrls.username.errors.required">Username is required</div>
|
||||||
|
<div *ngIf="createCtrls.username.errors.minlength">Username must have min 3 characters</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -12,7 +13,9 @@
|
|||||||
<input type="password" formControlName="password" class="form-control"
|
<input type="password" formControlName="password" class="form-control"
|
||||||
[ngClass]="{ 'is-invalid': submitted && loginCtrls.password.errors }" />
|
[ngClass]="{ 'is-invalid': submitted && loginCtrls.password.errors }" />
|
||||||
<div *ngIf="submitted && loginCtrls.password.errors" class="invalid-feedback">
|
<div *ngIf="submitted && loginCtrls.password.errors" class="invalid-feedback">
|
||||||
<div *ngIf="loginCtrls.password.errors.required">Password is required</div>
|
<div *ngIf="createCtrls.password.errors.required">Password is required</div>
|
||||||
|
<div *ngIf="createCtrls.password.errors.pattern">The pattern of the password ([A-Za-z0-9_-]
|
||||||
|
{{ '{' }}8,15{{ '}' }})</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button [disabled]="loading" class="btn btn-primary">
|
<button [disabled]="loading" class="btn btn-primary">
|
||||||
|
|||||||
@@ -31,10 +31,16 @@ export class LoginUserComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.loginForm = this.formBuilder.group({
|
this.loginForm = this.formBuilder.group(
|
||||||
username: ["", Validators.required],
|
{
|
||||||
password: ["", Validators.required]
|
username: ["", [Validators.required, Validators.minLength(3)]],
|
||||||
});
|
password: [
|
||||||
|
"",
|
||||||
|
[Validators.required, Validators.pattern("^[A-Za-z0-9_-]{8,15}$")]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ updateOn: "blur" }
|
||||||
|
);
|
||||||
|
|
||||||
// get return url from route parameters or default to '/'
|
// get return url from route parameters or default to '/'
|
||||||
this.returnUrl = this.route.snapshot.queryParams["returnUrl"] || "/";
|
this.returnUrl = this.route.snapshot.queryParams["returnUrl"] || "/";
|
||||||
|
|||||||
Reference in New Issue
Block a user