mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
Improve custom validation rules
This commit is contained in:
@@ -39,14 +39,16 @@ export class LoginDemoComponent implements OnInit {
|
|||||||
|
|
||||||
constructor(public router: Router) {
|
constructor(public router: Router) {
|
||||||
this.customValidation = {
|
this.customValidation = {
|
||||||
username: ['', Validators.compose([Validators.required, Validators.minLength(8), , Validators.maxLength(10)])],
|
username: ['', Validators.compose([Validators.required, Validators.minLength(4), Validators.maxLength(15)])],
|
||||||
password: ['', Validators.required]
|
password: ['', Validators.required]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.alfrescologin.addCustomValidationError('username', 'minlength', 'Username must be at least 8 characters.');
|
this.alfrescologin.addCustomValidationError('username', 'required', 'LOGIN.MESSAGES.USERNAME-REQUIRED');
|
||||||
|
this.alfrescologin.addCustomValidationError('username', 'minlength', 'LOGIN.MESSAGES.USERNAME-MIN');
|
||||||
this.alfrescologin.addCustomValidationError('username', 'maxlength', 'Username must not be longer than 11 characters.');
|
this.alfrescologin.addCustomValidationError('username', 'maxlength', 'Username must not be longer than 11 characters.');
|
||||||
|
this.alfrescologin.addCustomValidationError('password', 'required', 'LOGIN.MESSAGES.PASSWORD-REQUIRED');
|
||||||
}
|
}
|
||||||
|
|
||||||
onLogin($event) {
|
onLogin($event) {
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';
|
import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';
|
||||||
import { FORM_DIRECTIVES, ControlGroup, FormBuilder } from '@angular/common';
|
import { FORM_DIRECTIVES, ControlGroup, FormBuilder, Validators } from '@angular/common';
|
||||||
import {
|
import {
|
||||||
AlfrescoTranslationService,
|
AlfrescoTranslationService,
|
||||||
AlfrescoPipeTranslate,
|
AlfrescoPipeTranslate,
|
||||||
@@ -88,11 +88,16 @@ export class AlfrescoLoginComponent implements OnInit {
|
|||||||
translate.addTranslationFolder('node_modules/ng2-alfresco-login/dist/src');
|
translate.addTranslationFolder('node_modules/ng2-alfresco-login/dist/src');
|
||||||
|
|
||||||
this.initFormError();
|
this.initFormError();
|
||||||
this.initFormMessages();
|
this.initFormFieldsMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.form = this._fb.group(this.fieldsValidation);
|
if (this.hasCustomFiledsValidation()) {
|
||||||
|
this.form = this._fb.group(this.fieldsValidation);
|
||||||
|
} else {
|
||||||
|
this.initFormFieldsDefault();
|
||||||
|
this.initFormFieldsMessagesDefault();
|
||||||
|
}
|
||||||
this.form.valueChanges.subscribe(data => this.onValueChanged(data));
|
this.form.valueChanges.subscribe(data => this.onValueChanged(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,9 +237,19 @@ export class AlfrescoLoginComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default form messages values
|
* Init form fields messages
|
||||||
*/
|
*/
|
||||||
private initFormMessages() {
|
private initFormFieldsMessages() {
|
||||||
|
this._message = {
|
||||||
|
'username': {},
|
||||||
|
'password': {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default form fields messages
|
||||||
|
*/
|
||||||
|
private initFormFieldsMessagesDefault() {
|
||||||
this._message = {
|
this._message = {
|
||||||
'username': {
|
'username': {
|
||||||
'required': 'LOGIN.MESSAGES.USERNAME-REQUIRED',
|
'required': 'LOGIN.MESSAGES.USERNAME-REQUIRED',
|
||||||
@@ -246,6 +261,13 @@ export class AlfrescoLoginComponent implements OnInit {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private initFormFieldsDefault() {
|
||||||
|
this.form = this._fb.group({
|
||||||
|
username: ['', Validators.compose([Validators.required, Validators.minLength(4)])],
|
||||||
|
password: ['', Validators.required]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disable the error flag
|
* Disable the error flag
|
||||||
*/
|
*/
|
||||||
@@ -259,4 +281,8 @@ export class AlfrescoLoginComponent implements OnInit {
|
|||||||
private enableError() {
|
private enableError() {
|
||||||
this.error = true;
|
this.error = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private hasCustomFiledsValidation(): boolean {
|
||||||
|
return this.fieldsValidation !== undefined;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user