Vaadin 14 Flow EmailField 验证不起作用

Vaadin 14 Flow EmailField Validation does not work

目前在 Vaadin 14.6.8 中,EmailField 接受这些值(例如“barney.@gmail.com”、“.@gmail.com”)作为有效输入。 我应该将这些视为有效的电子邮件地址吗?

EmailField emailField = new EmailField();

已在网上搜索并已使用一些在线电子邮件地址验证程序进行了验证。

EmailField 出于性能原因使用相当简单的正则表达式模式来验证输入大致看起来像电子邮件。如本次讨论所示,编写完整的正则表达式模式以根据 RFC 5322 验证输入是一项乏味的任务(请注意,复杂的正则表达式模式也容易受到 ReDoS 攻击)

How can I validate an email address using a regular expression?

如果你对EmailField不满意,还有TextField#setPattern(regexp)方法,如果你想使用更复杂的验证模式,可以用TextField#setPattern(regexp)代替EmailField。您会注意到需要一些务实的妥协。