Правила безопасности Firestore - проверьте, является ли поле действительным адресом электронной почты - PullRequest
0 голосов
/ 29 июня 2019

Как я могу проверить, является ли входящее поле действительным адресом электронной почты?Есть ли способ использовать строковые функции или что-то еще в Правилах безопасности Firestore ?

Пример:

Допустим, у меня есть Create-Requestс полем под названием «электронная почта».В моих правилах безопасности Firestore я хотел бы проверить, является ли электронная почта действительным адресом электронной почты:

  • содержит '@'
  • оканчивается на .xx или .xxx(случайное окончание домена страны)
  • имеет символ '.'перед последними тремя или двумя письмами электронной почты
  • '.'не следует непосредственно после '@' - между

должно быть не менее двух букв, так что например, example@emailprovider.com будет принят, но не пример @ .com.

Я знаю, что эта проверка довольно обширна, и еще хотелось бы узнать, имеет ли смысл вводить такую ​​проверку в правила безопасности?

1 Ответ

1 голос
/ 30 июня 2019

Вы можете использовать rules.String.matches.

См

Выполняет сопоставление регулярного выражения для всей строки.

Регулярное выражение с использованием Google RE2 синтаксис .

Если вы хотите установить только адрес электронной почты, тогда необходимо подтвердить поле как адрес электронной почты.

...