update form data validation

This commit is contained in:
Chneemann 2024-05-14 01:56:05 +02:00
parent 4b791f53ca
commit a57e7371aa
5 changed files with 52 additions and 18 deletions

View file

@ -39,6 +39,9 @@
<div class="name"> <div class="name">
{{ user.firstName }} {{ user.firstName }}
{{ user.lastName }} {{ user.lastName }}
@if (user.id === firebaseService.getCurrentUserId()) {
<p>&nbsp;(du)</p>
}
</div> </div>
<div class="btns"> <div class="btns">
<div class="btn btn-edit"> <div class="btn btn-edit">

View file

@ -49,6 +49,9 @@
<p class="last-name"> <p class="last-name">
{{ user.lastName }} {{ user.lastName }}
</p> </p>
@if (user.id === firebaseService.getCurrentUserId()) {
<p>&nbsp;(du)</p>
}
</div> </div>
<div class="email"> <div class="email">
{{ user.email }} {{ user.email }}

View file

@ -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"

View file

@ -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,}$/;

View file

@ -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.');
}