Проверка шаблона электронной почты в Angular

<label for = "userEmail">User Email:</label><br />
          <input type = "email" class = "userMobile" id = "userEmail" name = "userEmail"
            [(ngModel)] = "selectedLocker.lockeruseremail" required pattern = "[a-z0-9._%+-]+@[a-z0-9.-]+\.(com|in)$"/><br />

Шаблон требует, чтобы электронное письмо было в формате [email protected] или [email protected], но по-прежнему допускает отправку без .com или .in.

Можете ли вы предоставить остальную часть кода, а не только входные данные, чтобы мы могли понять логику и в чем проблема?

Petros 18.06.2024 14:20
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
1
56
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Этот шаблон проверки электронной почты имеет несколько проблем. Попробуйте использовать этот шаблон:

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

к сожалению, это не сработало, спасибо за ваше время! 💕

newbie 19.06.2024 14:27
Ответ принят как подходящий

Для формы, основанной на шаблоне, вы должны использовать form.valid, чтобы проверить, что форма действительна перед отправкой. И примените атрибут [disabled], чтобы заблокировать отправку кнопки.

import { ViewChild } from '@angular/core';
import { NgForm } from '@angular/forms';

@ViewChild('form') form!: NgForm;

submit() {
  if (!this.form.valid) {
    alert('Form value invalid Detected!')
    return;
  }

  ...
}

Вы можете отобразить ошибку для элемента управления с помощью директивы ngModel, как показано ниже:

<form #form = "ngForm" (submit) = "submit()">
  <label for = "userEmail">User Email:</label><br />
  <input
    type = "email"
    class = "userMobile"
    id = "userEmail"
    name = "userEmail"
    [(ngModel)] = "selectedLocker.lockeruseremail"
    required
    pattern = "[a-z0-9._%+-]+@[a-z0-9.-]+\.(com|in)$"
    #email = "ngModel"
  /><br />
  <ng-container *ngIf = "email.errors?.pattern">
    Invalid email pattern.
  </ng-container>

  <button [disabled] = "!form.form.valid">Submit</button>
</form>

Демо @ StackBlitz

Работает отлично, спасибо, братан😍

newbie 19.06.2024 14:25

Другие вопросы по теме