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">
|
||||
{{ user.firstName }}
|
||||
{{ user.lastName }}
|
||||
@if (user.id === firebaseService.getCurrentUserId()) {
|
||||
<p> (du)</p>
|
||||
}
|
||||
</div>
|
||||
<div class="btns">
|
||||
<div class="btn btn-edit">
|
||||
|
|
|
|||
|
|
@ -49,6 +49,9 @@
|
|||
<p class="last-name">
|
||||
{{ user.lastName }}
|
||||
</p>
|
||||
@if (user.id === firebaseService.getCurrentUserId()) {
|
||||
<p> (du)</p>
|
||||
}
|
||||
</div>
|
||||
<div class="email">
|
||||
{{ user.email }}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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,}$/;
|
||||
|
|
|
|||
|
|
@ -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.');
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue