老实说,我知道如何通过devise.en.yml
更改设计的错误消息我有一个使用Devise进行身份验证的网站。
登录时如果电子邮件和密码为空则会给我错误
电子邮件或密码无效。
但我想为不同情况的用户显示不同的错误消息:
喜欢, 如果电子邮件字段为空且密码存在而不是显示
电子邮件不能为空。
否则,如果密码字段为空并且电子邮件存在而不是显示
密码不能为空。
其他密码和电子邮件未经身份验证而不是显示
无效的电子邮件或密码
目前正在运作。
我不想从我的模态中移除:validatable
。
我累了validates :email, :presence => true, :email => true
来自here
但是当我注册时,它会显示2个错误
电子邮件不能为空。
设计的一个错误,另一个是模态错误。
请告诉我如何仅为用户登录进行此验证。
提前谢谢你。 :)
答案 0 :(得分:0)
请更喜欢这个 Link
如果用户正在登录,您可以在config/locales.
下的devise.en.yml中编辑所有错误消息
答案 1 :(得分:0)
在您的设计会话控制器的创建操作中尝试此操作。
def create
user = User.find_by(email: params[:user][:email])
if user
if user.valid_password?(params[:user][:password])
sign_in_and_redirect user
else
flash[:error] = "Please enter the valid password."
end
end
end