有没有办法在不执行凭据更新和侦听失败的情况下使用Firebase电子邮件验证?类似FirebaseAuth.validateEmail(someEmail)
在Android中,可以使用以下方法检查有效的输入电子邮件:
android.util.Patterns.EMAIL_ADDRESS.matcher(someEmail).matches();
然而,这接受完成顶级域名为一个字符长的电子邮件,例如。 test@email.c
但是,此类电子邮件对Firebase无效,如果使用,则会抛出以下异常:
com.google.firebase.FirebaseException: An internal error has occured. [ INVALID_EMAIL ]
如果用户输入firebase无效的电子邮件地址,是否有标记输入字段无效的方法?
答案 0 :(得分:0)
在我做一些研究后,INVALID_EMAIL
似乎有两个原因。一种是无效格式,可以检查Android方法。另一个是电子邮件未注册。我认为您正面临第二种情况,因为test@email.c
在电子邮件格式中有效(尽管该域名不存在)。
因此,我认为没有FirebaseAuth.validateEmail(someEmail)
方法,但验证方法本身就是验证电子邮件。如果它无效,则抛出异常,因此您可以使用try
和catch
来处理无效案例。