angular2-simple-ui
Version:
Angular 2 Simple Material Design UI Components customisable with Simple 30 KB CSS with LESS support and full features support , just plugin up and run for clarity look at sample examples
49 lines (44 loc) • 1.37 kB
text/typescript
import { FormBase } from './sui.util.formBase';
import { Injectable } from '@angular/core';
()
export class ValidatiorService {
checkValidEmail(email: string): boolean {
let emailReg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return emailReg.test(email);
}
checkRequired(field: FormBase): ValidatorModal {
let vm = new ValidatorModal();
if (field.required) {
if (field.value) {
if (field.value === '') {
vm.valid = false;
vm.errorMessage = field.label + ' is required';
} else {
vm.valid = true;
}
} else {
vm.valid = false;
vm.errorMessage = field.label + ' is required';
}
} else {
vm.valid = true;
}
return vm;
}
checkFieldValid(field: FormBase): ValidatorModal {
let reqValid = this.checkRequired(field);
if (reqValid.valid) {
if (field.type === 'email') {
let vm = new ValidatorModal();
vm.valid = this.checkValidEmail(field.value);
vm.errorMessage = 'Invalid Email Address';
return vm;
}
}
return reqValid;
}
}
export class ValidatorModal {
valid: boolean = false;
errorMessage: string = '';
}