I will look into this.

On Apr 25, 7:26 pm, Russell <[email protected]> wrote:
> Okay, I've thought more about this and can see why you might want to
> overwrite the validators...you don't want IS_NOT_IN_DB(db,
> auth_table.email) validation on login!  So maybe just a case-sensitive
> flag?
>
> On Apr 26, 12:01 pm, Russell <[email protected]> wrote:
>
> > Hi,
>
> > Auth.login overwrites any custom email validators that you define.
> > Specifically, line 1019 of tools.py overwrites
> > table_user[username].requires with
> > IS_EMAIL(error_message=self.messages.invalid_email). Why is this
> > necessary?  For example, it means that this does NOT work:
>
> > db.py
> > -----
> > auth_table = db.define_table(
> >     auth.settings.table_user_name,
> >     Field('email', length=128, default='',
> >         unique=True, writable=True),
> >     ...)
>
> > auth_table.email.requires = [
> >     IS_LOWER(),
> >     IS_EMAIL(error_message=auth.messages.invalid_email)]
>
> > Email must be case-sensitive?!  Anyway, I suggest the following patch
> > to tools.py:
>
> > Replace:
> > 1019 table_user[username].requires = tmpvalidator
> > With:
> > 1019 table_user[username].requires = table_user[username].requires or
> > tmpvalidator
>
> > Or if you consider this a feature, perhaps a new setting?
> > 1019 if not self.settings.login_email_custom_validators:
> > table_user[username].requires = tmpvalidator
>
> > Thanks
> > Russell
>
> > --
> > Subscription settings:http://groups.google.com/group/web2py/subscribe?hl=en

Reply via email to