我有一个简单的CLI,例如:
p 'Enter email value'
params[:email] = gets.chomp
我希望处理电子邮件验证,如果电子邮件无效,请重新运行上一个提示。
我有验证电子邮件的方法,只返回true或false,如:
p 'Enter email value'
params[:email] = gets.chomp
if email invalid
'error- invalid email'
再次运行
p 'Enter email value'
params[:email] = gets.chomp
我该怎么做?
答案 0 :(得分:0)
您可以使用Regular Expressions执行此操作。
要验证电子邮件是否有效,您可以像这样使用正则表达式:
def validate_email
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
if email =~ VALID_EMAIL_REGEX
# Do someting here
else
validate_email
end
end
答案 1 :(得分:0)
您可以将此代码输入until
循环
p 'Enter email value'
params[:email] = gets.chomp
until email invalid do
p 'Enter email value'
params[:email] = gets.chomp
end