【发布时间】:2020-06-01 15:31:30
【问题描述】:
我需要确保如果用户正在更新其电子邮件,它应该是正确的电子邮件地址(至少包括“@”并以“.xxx”结尾)
我知道我必须使用matches。我试过了:
request.resource.data.email.matches(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i)
但它似乎不符合 RE2:
i firestore: Change detected, updating rules...
⚠ firestore.rules:30:63 - ERROR Unexpected '_'.
⚠ firestore.rules:30:63 - ERROR Unexpected '_'.
⚠ firestore.rules:30:63 - ERROR mismatched input '_' expecting {'&&', '.', '==', '>', '>=', '[', '<', '<=', '-', '%', '!=', '||', '+', '}', ';', '/', '*', '?', 'in', 'is'}
⚠ firestore.rules:30:81 - ERROR token recognition error at: '\'
⚠ firestore.rules:30:82 - ERROR token recognition error at: '\'
⚠ firestore.rules:30:94 - ERROR Unexpected '$'.
⚠ firestore.rules:30:95 - ERROR Missing 'match' keyword before path.
⚠ firestore.rules:30:97 - ERROR mismatched input ')' expecting {'{', '/', PATH_SEGMENT}
⚠ firestore.rules:48:3 - ERROR Unexpected '}'.
✔ firestore: Rules updated.
某处是否有正确的电子邮件 RE2 正则表达式?我找不到。
【问题讨论】:
标签: google-cloud-firestore firebase-security