update form data validation
This commit is contained in:
parent
4b791f53ca
commit
a57e7371aa
5 changed files with 52 additions and 18 deletions
|
|
@ -39,6 +39,9 @@
|
||||||
<div class="name">
|
<div class="name">
|
||||||
{{ user.firstName }}
|
{{ user.firstName }}
|
||||||
{{ user.lastName }}
|
{{ user.lastName }}
|
||||||
|
@if (user.id === firebaseService.getCurrentUserId()) {
|
||||||
|
<p> (du)</p>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
<div class="btn btn-edit">
|
<div class="btn btn-edit">
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,9 @@
|
||||||
<p class="last-name">
|
<p class="last-name">
|
||||||
{{ user.lastName }}
|
{{ user.lastName }}
|
||||||
</p>
|
</p>
|
||||||
|
@if (user.id === firebaseService.getCurrentUserId()) {
|
||||||
|
<p> (du)</p>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
<div class="email">
|
<div class="email">
|
||||||
{{ user.email }}
|
{{ user.email }}
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,9 @@
|
||||||
<div class="error-msg">
|
<div class="error-msg">
|
||||||
@if (!mail.valid && mail.touched) {
|
@if (!mail.valid && mail.touched) {
|
||||||
<p>You must enter a mail.</p>
|
<p>You must enter a mail.</p>
|
||||||
}
|
} @else { @if (existEmailonServer(registerData.mail).length > 0) {
|
||||||
|
<p>This email already exists.</p>
|
||||||
|
} }
|
||||||
</div>
|
</div>
|
||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,10 @@ import { BtnBackComponent } from '../../../shared/components/buttons/btn-back/bt
|
||||||
export class RegisterComponent {
|
export class RegisterComponent {
|
||||||
registerData = {
|
registerData = {
|
||||||
name: '',
|
name: '',
|
||||||
|
firstName: '',
|
||||||
|
lastName: '',
|
||||||
mail: '',
|
mail: '',
|
||||||
password: '',
|
password: '',
|
||||||
color: '',
|
|
||||||
initials: '',
|
|
||||||
passwordConfirm: '',
|
passwordConfirm: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -42,11 +42,23 @@ export class RegisterComponent {
|
||||||
onSubmit(ngForm: NgForm) {
|
onSubmit(ngForm: NgForm) {
|
||||||
this.sharedService.isBtnDisabled = true;
|
this.sharedService.isBtnDisabled = true;
|
||||||
if (ngForm.submitted && ngForm.form.valid) {
|
if (ngForm.submitted && ngForm.form.valid) {
|
||||||
//this.loginSerivce.register(this.registerData);
|
this.splitName();
|
||||||
console.log(this.registerData);
|
this.loginSerivce.register(this.registerData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
splitName() {
|
||||||
|
const names = this.registerData.name.split(' ');
|
||||||
|
this.registerData.firstName = names[0];
|
||||||
|
this.registerData.lastName = names.slice(1).join(' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
existEmailonServer(mail: string) {
|
||||||
|
return this.firebaseService
|
||||||
|
.getAllUsers()
|
||||||
|
.filter((user) => user.email === mail);
|
||||||
|
}
|
||||||
|
|
||||||
checkIfUserEmailIsValid(emailValue: string) {
|
checkIfUserEmailIsValid(emailValue: string) {
|
||||||
const channelNameLenght = emailValue.length;
|
const channelNameLenght = emailValue.length;
|
||||||
const emailRegex = /^[\w.%+-]+@[\w.-]+\.[a-zA-Z]{2,}$/;
|
const emailRegex = /^[\w.%+-]+@[\w.-]+\.[a-zA-Z]{2,}$/;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import {
|
||||||
signInWithEmailAndPassword,
|
signInWithEmailAndPassword,
|
||||||
signInWithPopup,
|
signInWithPopup,
|
||||||
GoogleAuthProvider,
|
GoogleAuthProvider,
|
||||||
Auth,
|
createUserWithEmailAndPassword,
|
||||||
} from 'firebase/auth';
|
} from 'firebase/auth';
|
||||||
import { FirebaseService } from './firebase.service';
|
import { FirebaseService } from './firebase.service';
|
||||||
import {
|
import {
|
||||||
|
|
@ -51,12 +51,12 @@ export class LoginService {
|
||||||
|
|
||||||
register(registerData: {
|
register(registerData: {
|
||||||
name: string;
|
name: string;
|
||||||
|
firstName: string;
|
||||||
|
lastName: string;
|
||||||
mail: string;
|
mail: string;
|
||||||
password: string;
|
password: string;
|
||||||
initials: string;
|
|
||||||
color: string;
|
|
||||||
}) {
|
}) {
|
||||||
signInWithEmailAndPassword(
|
createUserWithEmailAndPassword(
|
||||||
getAuth(),
|
getAuth(),
|
||||||
registerData.mail,
|
registerData.mail,
|
||||||
registerData.password
|
registerData.password
|
||||||
|
|
@ -67,12 +67,21 @@ export class LoginService {
|
||||||
const userDataToSave: User = {
|
const userDataToSave: User = {
|
||||||
uId: user.uid,
|
uId: user.uid,
|
||||||
email: user.email || '',
|
email: user.email || '',
|
||||||
firstName: registerData.name || '',
|
firstName: registerData.firstName
|
||||||
lastName: registerData.name || '',
|
? registerData.firstName.charAt(0).toUpperCase() +
|
||||||
|
registerData.firstName.slice(1)
|
||||||
|
: '',
|
||||||
|
lastName: registerData.lastName
|
||||||
|
? registerData.lastName.charAt(0).toUpperCase() +
|
||||||
|
registerData.lastName.slice(1)
|
||||||
|
: '',
|
||||||
status: true,
|
status: true,
|
||||||
phone: '',
|
phone: '',
|
||||||
initials: registerData.initials,
|
initials: registerData.name
|
||||||
color: registerData.color,
|
? registerData.firstName.slice(0, 1).toUpperCase() +
|
||||||
|
registerData.lastName.slice(0, 1).toUpperCase()
|
||||||
|
: '',
|
||||||
|
color: this.sharedService.generateRandomColor(),
|
||||||
lastLogin: new Date().getTime(),
|
lastLogin: new Date().getTime(),
|
||||||
};
|
};
|
||||||
this.createUserInFirestore(userDataToSave);
|
this.createUserInFirestore(userDataToSave);
|
||||||
|
|
@ -99,8 +108,14 @@ export class LoginService {
|
||||||
this.createUserInFirestore({
|
this.createUserInFirestore({
|
||||||
uId: user.uid,
|
uId: user.uid,
|
||||||
email: user.email || 'no mail',
|
email: user.email || 'no mail',
|
||||||
firstName: user.displayName ? user.displayName.split(' ')[0] : '',
|
firstName: user.displayName
|
||||||
lastName: user.displayName ? user.displayName.split(' ')[1] : '',
|
? user.displayName.split(' ')[0].charAt(0).toUpperCase() +
|
||||||
|
user.displayName.split(' ')[0].slice(1)
|
||||||
|
: '',
|
||||||
|
lastName: user.displayName
|
||||||
|
? user.displayName.split(' ')[1].charAt(0).toUpperCase() +
|
||||||
|
user.displayName.split(' ')[1].slice(1)
|
||||||
|
: '',
|
||||||
status: true,
|
status: true,
|
||||||
phone: '',
|
phone: '',
|
||||||
initials: user.displayName
|
initials: user.displayName
|
||||||
|
|
@ -121,6 +136,8 @@ export class LoginService {
|
||||||
}
|
}
|
||||||
|
|
||||||
async createUserInFirestore(user: User) {
|
async createUserInFirestore(user: User) {
|
||||||
|
console.log(user);
|
||||||
|
|
||||||
const userDataToSave: User = {
|
const userDataToSave: User = {
|
||||||
uId: user.uId,
|
uId: user.uId,
|
||||||
email: user.email,
|
email: user.email,
|
||||||
|
|
@ -163,6 +180,3 @@ export class LoginService {
|
||||||
localStorage.setItem('currentUserJOIN', JSON.stringify(userId));
|
localStorage.setItem('currentUserJOIN', JSON.stringify(userId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function createUserWithEmailAndPassword(auth: Auth, email: any, password: any) {
|
|
||||||
throw new Error('Function not implemented.');
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue