diff --git a/frontend/src/app/atomic/input/email-field/email-field.component.css b/frontend/src/app/atomic/input/email-field/email-field.component.css
index 6ac0f20..16fd3ea 100644
--- a/frontend/src/app/atomic/input/email-field/email-field.component.css
+++ b/frontend/src/app/atomic/input/email-field/email-field.component.css
@@ -9,9 +9,17 @@ input {
color: var(--primary-text-color);
}
+.valid {
+
+}
+
+.invalid {
+ border-color: var(--error-color);
+ border-width: 2px;
+ border-style: solid;
+}
+
input:focus {
outline-color: var(--primary-background-color);
outline-width: 100px;
- /*outline-offset: 1px;*/
- /*outline-style: auto;*/
}
\ No newline at end of file
diff --git a/frontend/src/app/atomic/input/email-field/email-field.component.html b/frontend/src/app/atomic/input/email-field/email-field.component.html
index 323dae0..57fb731 100644
--- a/frontend/src/app/atomic/input/email-field/email-field.component.html
+++ b/frontend/src/app/atomic/input/email-field/email-field.component.html
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/frontend/src/app/atomic/input/email-field/email-field.component.ts b/frontend/src/app/atomic/input/email-field/email-field.component.ts
index 685696b..9abf44f 100644
--- a/frontend/src/app/atomic/input/email-field/email-field.component.ts
+++ b/frontend/src/app/atomic/input/email-field/email-field.component.ts
@@ -1,12 +1,34 @@
import {Component, EventEmitter, Input, Output} from '@angular/core';
+import {FormsModule} from "@angular/forms";
+import {verify_email} from "../../../model/util";
+import {NgClass} from "@angular/common";
@Component({
selector: 'atomic-email-field',
- imports: [],
+ imports: [
+ FormsModule,
+ NgClass
+ ],
templateUrl: './email-field.component.html',
styleUrl: './email-field.component.css'
})
export class EmailFieldComponent {
- @Input() value?: string;
+ @Input() disabled: boolean = false;
+
+ private _value: string = '';
+ @Input()
+ get value(): string {
+ return this._value;
+ }
+
+ set value(val: string) {
+ this._value = val;
+ this.valueChange.emit(this._value);
+ }
+
@Output() valueChange = new EventEmitter();
+
+ verify_mail() {
+ return verify_email(this._value);
+ }
}
diff --git a/frontend/src/app/model/util.ts b/frontend/src/app/model/util.ts
new file mode 100644
index 0000000..a663d5e
--- /dev/null
+++ b/frontend/src/app/model/util.ts
@@ -0,0 +1,5 @@
+export const EMAIL_REGEX = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
+
+export function verify_email(email: string): boolean {
+ return EMAIL_REGEX.test(email);
+}