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">
{{ user.firstName }}
{{ user.lastName }}
@if (user.id === firebaseService.getCurrentUserId()) {
<p>&nbsp;(du)</p>
}
</div>
<div class="btns">
<div class="btn btn-edit">

View file

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

View file

@ -59,7 +59,9 @@
<div class="error-msg">
@if (!mail.valid && mail.touched) {
<p>You must enter a mail.</p>
}
} @else { @if (existEmailonServer(registerData.mail).length > 0) {
<p>This email already exists.</p>
} }
</div>
<input
type="password"

View file

@ -26,10 +26,10 @@ import { BtnBackComponent } from '../../../shared/components/buttons/btn-back/bt
export class RegisterComponent {
registerData = {
name: '',
firstName: '',
lastName: '',
mail: '',
password: '',
color: '',
initials: '',
passwordConfirm: '',
};
@ -42,11 +42,23 @@ export class RegisterComponent {
onSubmit(ngForm: NgForm) {
this.sharedService.isBtnDisabled = true;
if (ngForm.submitted && ngForm.form.valid) {
//this.loginSerivce.register(this.registerData);
console.log(this.registerData);
this.splitName();
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) {
const channelNameLenght = emailValue.length;
const emailRegex = /^[\w.%+-]+@[\w.-]+\.[a-zA-Z]{2,}$/;

View file

@ -4,7 +4,7 @@ import {
signInWithEmailAndPassword,
signInWithPopup,
GoogleAuthProvider,
Auth,
createUserWithEmailAndPassword,
} from 'firebase/auth';
import { FirebaseService } from './firebase.service';
import {
@ -51,12 +51,12 @@ export class LoginService {
register(registerData: {
name: string;
firstName: string;
lastName: string;
mail: string;
password: string;
initials: string;
color: string;
}) {
signInWithEmailAndPassword(
createUserWithEmailAndPassword(
getAuth(),
registerData.mail,
registerData.password
@ -67,12 +67,21 @@ export class LoginService {
const userDataToSave: User = {
uId: user.uid,
email: user.email || '',
firstName: registerData.name || '',
lastName: registerData.name || '',
firstName: registerData.firstName
? registerData.firstName.charAt(0).toUpperCase() +
registerData.firstName.slice(1)
: '',
lastName: registerData.lastName
? registerData.lastName.charAt(0).toUpperCase() +
registerData.lastName.slice(1)
: '',
status: true,
phone: '',
initials: registerData.initials,
color: registerData.color,
initials: registerData.name
? registerData.firstName.slice(0, 1).toUpperCase() +
registerData.lastName.slice(0, 1).toUpperCase()
: '',
color: this.sharedService.generateRandomColor(),
lastLogin: new Date().getTime(),
};
this.createUserInFirestore(userDataToSave);
@ -99,8 +108,14 @@ export class LoginService {
this.createUserInFirestore({
uId: user.uid,
email: user.email || 'no mail',
firstName: user.displayName ? user.displayName.split(' ')[0] : '',
lastName: user.displayName ? user.displayName.split(' ')[1] : '',
firstName: user.displayName
? 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,
phone: '',
initials: user.displayName
@ -121,6 +136,8 @@ export class LoginService {
}
async createUserInFirestore(user: User) {
console.log(user);
const userDataToSave: User = {
uId: user.uId,
email: user.email,
@ -163,6 +180,3 @@ export class LoginService {
localStorage.setItem('currentUserJOIN', JSON.stringify(userId));
}
}
function createUserWithEmailAndPassword(auth: Auth, email: any, password: any) {
throw new Error('Function not implemented.');
}