Validate email address
This commit is contained in:
parent
55a5801da4
commit
e4df728a04
2 changed files with 28 additions and 12 deletions
8
vedia.rb
8
vedia.rb
|
|
@ -136,6 +136,13 @@ get '/reset' do
|
||||||
end
|
end
|
||||||
|
|
||||||
post '/reset' do
|
post '/reset' do
|
||||||
|
@errors = []
|
||||||
|
unless params[:email] =~ URI::MailTo::EMAIL_REGEXP
|
||||||
|
@errors << OpenStruct.new(:attribute => :email, :type => :invalid)
|
||||||
|
end
|
||||||
|
if not @errors.empty?
|
||||||
|
erb :reset
|
||||||
|
else
|
||||||
@user = User.find_by(email: params[:email])
|
@user = User.find_by(email: params[:email])
|
||||||
if @user
|
if @user
|
||||||
@reset = SecureRandom.uuid
|
@reset = SecureRandom.uuid
|
||||||
|
|
@ -149,6 +156,7 @@ post '/reset' do
|
||||||
mail.deliver
|
mail.deliver
|
||||||
end
|
end
|
||||||
erb :reset_sent
|
erb :reset_sent
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
get '/reset/:uuid' do
|
get '/reset/:uuid' do
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,13 @@
|
||||||
<h1 class="mb-5"><%= _("Reset password") %></h1>
|
<h1 class="mb-5"><%= _("Reset password") %></h1>
|
||||||
|
|
||||||
|
<% if @errors %>
|
||||||
|
<% @errors.each do |error| %>
|
||||||
|
<% if error.attribute == :email and error.type == :invalid %>
|
||||||
|
<p class="alert alert-warning mb-4"><%= _("Enter an email address.") %></p>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<form action="/reset" method="post">
|
<form action="/reset" method="post">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="email" class="form-label"><%= _("Email") %></label>
|
<label for="email" class="form-label"><%= _("Email") %></label>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue