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
|
||||
|
||||
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])
|
||||
if @user
|
||||
@reset = SecureRandom.uuid
|
||||
|
|
@ -149,6 +156,7 @@ post '/reset' do
|
|||
mail.deliver
|
||||
end
|
||||
erb :reset_sent
|
||||
end
|
||||
end
|
||||
|
||||
get '/reset/:uuid' do
|
||||
|
|
|
|||
|
|
@ -1,5 +1,13 @@
|
|||
<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">
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label"><%= _("Email") %></label>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue