mirror of
https://github.com/akveo/ngx-admin.git
synced 2025-12-16 23:40:14 +01:00
46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
import {Component} from '@angular/core';
|
|
import {FormGroup, AbstractControl, FormBuilder, Validators} from '@angular/forms';
|
|
import {EmailValidator, EqualPasswordsValidator} from '../../theme/validators';
|
|
|
|
@Component({
|
|
selector: 'register',
|
|
templateUrl: './register.html',
|
|
styleUrls: ['./register.scss']
|
|
})
|
|
export class Register {
|
|
|
|
public form:FormGroup;
|
|
public name:AbstractControl;
|
|
public email:AbstractControl;
|
|
public password:AbstractControl;
|
|
public repeatPassword:AbstractControl;
|
|
public passwords:FormGroup;
|
|
|
|
public submitted:boolean = false;
|
|
|
|
constructor(fb:FormBuilder) {
|
|
|
|
this.form = fb.group({
|
|
'name': ['', Validators.compose([Validators.required, Validators.minLength(4)])],
|
|
'email': ['', Validators.compose([Validators.required, EmailValidator.validate])],
|
|
'passwords': fb.group({
|
|
'password': ['', Validators.compose([Validators.required, Validators.minLength(4)])],
|
|
'repeatPassword': ['', Validators.compose([Validators.required, Validators.minLength(4)])]
|
|
}, {validator: EqualPasswordsValidator.validate('password', 'repeatPassword')})
|
|
});
|
|
|
|
this.name = this.form.controls['name'];
|
|
this.email = this.form.controls['email'];
|
|
this.passwords = <FormGroup> this.form.controls['passwords'];
|
|
this.password = this.passwords.controls['password'];
|
|
this.repeatPassword = this.passwords.controls['repeatPassword'];
|
|
}
|
|
|
|
public onSubmit(values:Object):void {
|
|
this.submitted = true;
|
|
if (this.form.valid) {
|
|
// your code goes here
|
|
// console.log(values);
|
|
}
|
|
}
|
|
}
|