I want users to be able to enter a url and then put a link to that url in my view.
Valid inputs could be e.x. https://www.google.com/path, http://www.google.com, www.google.com
Is there are standard rails way to 1) validate that input is a valid url format and 2) convert that third format to http://www.google.com in my views so the external link works?
I don't want to re-invent the wheel if I can avoid it.
Check this out:
validates_format_of :website, :with => URI::regexp(%w(http https))
Source: http://intridea.com/2009/2/18/quick-tip-url-validation-in-rails?blog=company
To format a URL that is missing the protocol (http or https), I would do a before_save hook that prepends it if it's missing:
before_save :format_url
...
def format_url
self.website = "http://#{self.website}" unless self.website[/^https?/]
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With