Module: ActiveModel::Validations::ClassMethods
- Defined in:
- lib/password_strength/active_model.rb
Instance Method Summary collapse
-
#validates_strength_of(*attr_names) ⇒ Object
Validates that the specified attributes are not weak (according to several rules).
Instance Method Details
#validates_strength_of(*attr_names) ⇒ Object
Validates that the specified attributes are not weak (according to several rules).
class Person < ActiveRecord::Base
validates_strength_of :password
end
The default options are :level => :good, :with => :username.
If you want to compare your password against other field, you have to set the :with option.
validates_strength_of :password, :with => :email
The available levels are: :weak, :good and :strong
You can also provide a custom class/module that will test that password.
validates_strength_of :password, :using => CustomPasswordTester
Your CustomPasswordTester class should override the default implementation. In practice, you’re going to override only the test method that must call one of the following methods: invalid!, weak!, good! or strong!.
class CustomPasswordTester < PasswordStrength::Base
def test
if password != "mypass"
invalid!
else
strong!
end
end
end
The tester above will accept only mypass as password.
PasswordStrength implements two validators: PasswordStrength::Base and PasswordStrength::Validators::Windows2008.
82 83 84 |
# File 'lib/password_strength/active_model.rb', line 82 def validates_strength_of(*attr_names) validates_with StrengthValidator, _merge_attributes(attr_names) end |