2010-12-16 61 views
1

我在我的应用程序中使用Rails Authlogic。我想覆盖验证消息。 validates_length_of和validates_format_of正在工作,但validates_presence_of对登录名和密码都不起作用。如何在rails中覆盖authlogic验证消息?

有人可以帮我解决这个问题吗?

回答

0

添加地区语言文件的config /区域设置/ es.yml到语言环境中再加入这样的事情:

es: 
    authlogic: 
    error_messages: 
     login_blank: No puede estar en blanco 
     login_not_found: no es valido 
     login_invalid: "debe utilizar sólo letras, numeros, espacios, y [email protected] por favor." 
     consecutive_failed_logins_limit_exceeded: Consecutive failed logins limit exceeded, account is disabled. 
     email_invalid: debe ser similar a una dirección de correo electrónico. 
     password_blank: No puede estar en blanco 
     password_invalid: no es valido 
     not_active: Tu cuenta no está activo 
     not_confirmed: Su cuenta no se confirma 
     not_approved: "Tu cuenta no está aprobada" 
     no_authentication_details: Usted no proporcionó ningún detalle para la autenticación. 
     email_invalid: "No es valido" 
0

是失败为您UserUserSession模型的验证?或两者?

对于User模式,确保您呼叫acts_as_authentic

class User 
    acts_as_authentic 
end 

对于UserSession模型,确保你从Session类继承:

class UserSession < Authlogic::Session::Base 
end 

至于定制错误消息,您可以使用i18n方法,如下所述。或者,至少User模型,您可以在Ruby中完成。看到这些Authlogic文档:

http://rdoc.info/github/binarylogic/authlogic/master/Authlogic/ActsAsAuthentic/Login/Config http://rdoc.info/github/binarylogic/authlogic/master/Authlogic/ActsAsAuthentic/Password/Config

在这些文档,你会发现有一些开始的方法 “合并”。那些人应该为你做诡计。我找不到Session类的任何等效物。在这个堆栈溢出问题中的评论暗示它不存在:

Custom validation messages for Session model in Authlogic