gpt4 book ai didi

ruby-on-rails - 如何获得无效电子邮件或电子邮件字段留空的验证错误?

转载 作者:太空宇宙 更新时间:2023-11-03 18:16:37 25 4
gpt4 key购买 nike

我正在尝试验证表单中的字段,在该表单中我想要针对两个不同的输入问题提供两条不同的消息。

我有以下代码:

validates_format_of :email, 
:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i,
:allow_blank => false

如果电子邮件字段留空,则会在网站中显示错误消息“电子邮件无效”。

如果用户遗漏了该字段,我如何获得验证以返回一条消息,说明该字段不能为空,而不是仅仅说它太短?

最佳答案

我喜欢用 2 个不同的验证来处理这个问题(并确保它们不会同时触发)。所以像这样:

validates_format_of :email,
:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i,
:allow_blank => true
validates_presence_of :email

validates_presence_of 处理确保电子邮件不为空。将 validates_format_of 更改为使用 :allow_blank => true 将确保在电子邮件为空时不会运行格式验证。

在 Rails 3.0+ 中,您还可以使用 validates 将两个验证合并为一个验证。 :

validates :email,
presence: true,
format: { with: /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i,
allow_blank: true }

关于ruby-on-rails - 如何获得无效电子邮件或电子邮件字段留空的验证错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25103987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com