| 13 | imports: [FormField], |
| 14 | }) |
| 15 | export class App { |
| 16 | loginModel = signal<LoginData>({ |
| 17 | email: '', |
| 18 | password: '', |
| 19 | }); |
| 20 | |
| 21 | loginForm = form(this.loginModel, (schemaPath) => { |
| 22 | required(schemaPath.email, {message: 'Email is required'}); |
| 23 | email(schemaPath.email, {message: 'Enter a valid email address'}); |
| 24 | |
| 25 | required(schemaPath.password, {message: 'Password is required'}); |
| 26 | }); |
| 27 | |
| 28 | onSubmit(event: Event) { |
| 29 | event.preventDefault(); |
| 30 | // Perform login logic here |
| 31 | const credentials = this.loginModel(); |
| 32 | console.log('Logging in with:', credentials); |
| 33 | // e.g., await this.authService.login(credentials); |
| 34 | } |
| 35 | } |