如何在具有设计功能的模态中显示忘记的错误消息
How to show forgot error messages in a modal with devise functionality?
我有一个登录表单,那里有一个忘记的密码链接,当我们点击一个模态弹出窗口出现,我们输入我们的电子邮件地址。这是很好的,当我们输入正确/现有的电子邮件,但如果我们输入任何错误的电子邮件或电子邮件不存在于数据库,它不显示任何错误信息。请帮助。
我尝试使用<%= devise_error_messages! %>
,但没有用。我认为我们必须使用jQuery/javascript功能来显示错误。但是如何表现出来模型本身?这是我的观点:
<div class="container">
<div class="section section-signup">
<%= semantic_form_for(@resource, :as => resource_name, :url => user_session_path, :remote => true, :format => :json, :html => { :id => 'mainLogin' }) do |f| %>
<%= f.inputs do %>
<%= f.input :email, :label => 'Your email address', :input_html => { :placeholder => "Email"} %>
<%= f.input :password, :label => 'Your password', :input_html => { :placeholder => "Password"} %>
<% end %>
<%= f.buttons do %>
<% if devise_mapping.rememberable? %>
<%= f.input :remember_me, :as => :boolean, :label => "Remember me on this computer", :required => false, :input_html => {:class => "remember-me"} %>
<% end %>
<%= f.commit_button :label => 'Sign me in', :button_html => {:class => 'login submit button', :disable_with => 'Wait...', :id => 'user_submit' }%>
<% end %>
<div class="forgot">Yikes: <a class="pass-reset-btn cboxElement" href="#pass-reset" data-toggle="modal" data-target="#myModal">I forgot my password!</a></div>
<% end %>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Password reset</h4>
</div>
<div class="modal-body">
<p>Enter your email address and we'll shoot you a link for resetting your password.</p>
<!-- Start Fromtastic Markup -->
<%= semantic_form_for(resource_name, :url => password_path(resource_name), :remote => true, :format => :json, :html => { :id => 'password_reset' }) do |f| %>
<%= f.inputs do %>
<%= f.input :email, :label => 'Your email address', :input_html => { :placeholder => "Enter your email..."}%>
<% end %>
<%= f.buttons do %>
<%= f.commit_button :label => 'Send me that link', :button_html => {:class => 'submit button', :disable_with => 'Wait...' }%>
<% end %>
<div class="clearfix"></div>
<% end %>
<!-- End Fromtastic Markup -->
</div>
</div>
</div>
</div>
<%= f.inputs do %>
<%= f.input :email, :label => 'Your email address', :placeholder => "Enter your email...", :'data-validate' => '/users/checkemail'%>
<% end %>
<p id="email_search" class='email_error' style="display: none;">Email not found</p>
$(function() {
var msgp = document.getElementById('email_search');
$('[data-validate]').blur(function() {
$this = $(this);
$.get($this.data('validate'), {
email: $this.val()
}).success(function() {
$this.removeClass('field_with_errors');
msgp.style['display'] = 'none';
}).error(function() {
$this.addClass('field_with_errors');
msgp.style['display'] = 'block';
});
});
});
In users controller:
def checkemail
if params[:email] == ""
render :nothing => true, :status => 200
elsif User.where('email = ?', params[:email]).count == 0
render :nothing => true, :status => 409
else
render :nothing => true, :status => 200
end
return
end
相关文章:
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- bootstrap消除模态并显示另一个模态
- React.js中显示了模态时如何执行某些操作
- 在页面上显示超过 1 个的模态框
- 如何在单击/接受/确认按钮后不再显示模态
- 如何在模态助推器中显示计算结果(JS)
- 如何将一个模态放在一边-显示其他模态(像..这样的向导)
- 限制字符串中显示的字符数,但在没有php的情况下以模态显示同一字符串中的所有字符
- 如何从url中显示模态内部的信息
- 在下拉列表选择中显示模态
- 带有黑色禁用背景的引导模态显示
- NgAnimate - 由于 NGAnimate,我的模态显示隐藏不起作用
- 反应/reux + 引导,使组件的模态显示唯一
- 在模态显示后在jquery中调用相同的函数
- Bootstrap:使用模态显示动态数据时出现问题
- 数据表后面的模态显示
- 在模态显示之前执行一个脚本标签
- 当模态显示时添加模糊类,当模态隐藏时删除
- 如何获得"这个“;背景图像's的url使用“$event.target”;以离子模态显示