Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ngOnInit(): void {
- this.userForm = this.formBuilder.group({
- status: {checked: this.selectedUser.status == 1},
- username: [this.selectedUser.username, [Validators.required, Validators.minLength(LlqaConstants.USERNAME_MIN_LENGTH)]],
- realname: [this.selectedUser.realname, [Validators.required, Validators.minLength(LlqaConstants.REALNAME_MIN_LENGTH)]],
- password: ['', this.selectedUser.passhash.length > 0 ? [Validators.required, Validators.minLength(LlqaConstants.PASSWORD_MIN_LENGTH)] : null],
- usercomment: [this.selectedUser.comment]
- });
- }
- disableSaveButton(): boolean {
- return !this.userform.dirty || this.userForm.invalid;
- }
- export class MyComponent {
- initialValue: any;
- constructor(private fb: FormBuilder) {
- this.form = fb.group({...});
- this.initialValue = this.form.value;
- }
- disableSaveButton() {
- return JSON.stringify(this.initialValue) === JSON.stringify(this.form.value);
- }
- }
- export function oneValueHasToBeChangedValidator(values: { controlName: string, initialValue: string | number | boolean }[]): ValidatorFn {
- return (form: FormControl): { [key: string]: any } => {
- let sameValues = true;
- for (let comparingValues of values) {
- if (form.value[comparingValues.controlName] != comparingValues.initialValue) {
- sameValues = false;
- break;
- }
- }
- return sameValues ? {'sameValues': {values: values}} : null;
- };
- }
- this.userForm = this.formBuilder.group({
- status: this.selectedUser.status == 1,
- username: [this.selectedUser.username, [Validators.required, Validators.minLength(LlqaConstants.USERNAME_MIN_LENGTH)]],
- realname: [this.selectedUser.realname, [Validators.required, Validators.minLength(LlqaConstants.REALNAME_MIN_LENGTH)]],
- password: ['', [Validators.minLength(LlqaConstants.PASSWORD_MIN_LENGTH)]],
- usercomment: this.selectedUser.comment == null ? "" : this.selectedUser.comment
- });
- this.userForm.setValidators(oneValueHasToBeChangedValidator([{
- controlName: "status",
- initialValue: this.selectedUser.status == 1
- }, {
- controlName: "username",
- initialValue: this.selectedUser.username
- }, {
- controlName: "realname",
- initialValue: this.selectedUser.realname
- }, {
- controlName: "password",
- initialValue: ""
- }, {
- controlName: "usercomment",
- initialValue: this.selectedUser.comment == null ? "" : this.selectedUser.comment
- }]));
- this.userForm.updateValueAndValidity();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement