Richard, good question. Yes, it is working the way I want it to.
On login, if I enter an invalid email or invalid password, I get the invalid login message. I don't get any messages from either validator. Using my hand-built form for changing passwords, if I enter a password that is too short I get the right error message. If the confirming password doesn't match I get the correct message also. All this complication comes from building a multi-tenant application, where some users will be administering other users from the same tenant. On Mar 12, 3:57 pm, Richard Vézina <[email protected]> wrote: > Are you sure min form IS_STRONG is apply? > > It may be override by the empty CRYPT()?? > > CRYPT has min_length that could be used for that and if you want to use the > default of auth here you go : > > CRYPT(min_length=auth.settings.password_min_length, > error_message=T('too short')) > > Richard > > > > > > > > On Mon, Mar 12, 2012 at 3:38 PM, Cliff <[email protected]> wrote: > > This works. > > > custom_auth_table.password.requires = CRYPT() > > if request.args(0) != 'login': > > custom_auth_table.password.requires = [ > > IS_STRONG(min=12, max=128, upper=None, lower=None, > > number=None, special=None, error_message=' '), > > CRYPT() > > ] > > > Could also be handled in default.py. > > > On Mar 12, 3:06 pm, Bruce Wade <[email protected]> wrote: > > > error_message = '' and error_message = None are treated as the samething. > > > > Try: > > > error_message = ' ' > > > > Haven't tried but that may give you a black message like you want. > > > > On Mon, Mar 12, 2012 at 12:02 PM, Cliff <[email protected]> wrote: > > > > My login is pretty much vanilla Web2py. No changes to default.py > > > > users. > > > > > In the model I have this: > > > > > comment = '' > > > > if request.controller=='auth_user': > > > > comment = SPAN('Must be at least 12 characters in length', > > > > _style='color:orange;' > > > > ) > > > > db.define_table( > > > > auth.settings.table_user_name, > > > > Field('first_name', length=128, default=''), > > > > Field('middle_name', length=128, default=''), > > > > Field('last_name', length=128, default=''), > > > > Field('generation', length=128, default=''), > > > > Field('email', length=128, default='', unique=True, > > > > comment=email_comment), # required > > > > Field('password', 'password', length=128, # required > > > > readable=False, label='Password', > > > > comment=comment), > > > > ), > > > > # .... blah blah more details + required fields > > > > ) > > > > > custom_auth_table.password.requires = [ > > > > IS_STRONG(min=12, max=128, upper=None, lower=None, > > > > number=None, special=None,), CRYPT() > > > > ] > > > > > If I set error_message to an empty string or None in the model, > > > > attempting to log in with password 'foo' causes the error banner > > > > to appear with "None" as the caption. If I don't set error_message > > > > I get the banner with the error message from IS_STRONG(). > > > > > What am I doing wrong? What can I do about this? > > > > -- > > > -- > > > Regards, > > > Bruce Wadehttp:// > > ca.linkedin.com/in/brucelwadehttp://www.wadecybertech.comhttp://www.warplydesigned.comhttp://www.f...

