1)网址字段也应该接受网址为“www.abc.com”。如果用户输入这样的url,它应该自动附加“http://”,导致数据库中保存的值为“http://www.abc.com”。如果用户输入url为“http://www.xyz.com”系统,则不应附加“http://”。用户应该能够使用“https://”保存网址。 ruby on rails的代码是什么?
答案 0 :(得分:1)
此代码有效:
def validate
if !self.external_url.blank? && self.external_url != "external url"
if self.external_url.match(/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix).nil?
if self.external_url.match(/^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix).nil?
self.errors.add :base, 'External url is invalid' #message is changed by Hemant
else
self.external_url = "http://"+self.external_url
end
end
end
end
答案 1 :(得分:0)
不是寻求帮助的好方法,这就是为什么我怀疑你已经被投票两次了!
我建议你先看看before_validation,validates_format_of和正则表达式。了解如何继续使用这些内容,如果遇到问题,可能会发布任何更新。
PS:
prepend =“附加到数据的开头” append =“附加到数据的末尾”