I have a custom login form that displays the error when the email is invalid (eg. like someone submits an email with a wrong email format, i.e, without @domain.com for example), but when an email that's not in the database is submitted, nothing happens, the page just reloads.
Also, if an email that's in the database is submitted with a wrong password, the page just reloads... it's not recorded in login.errors (my custom form.errors) here's all the code relating to the login form. (I've tried both crud.settings.hideerror=True and crud.settings.hideerror=False, doesn't work) --Remember though that login.errors returns invalid email when the email format is wrong. Model (db.py) db = DAL('sqlite://storage.sqlite') response.generic_patterns = ['*'] if request.is_local else [] auth = Auth(db, hmac_key=Auth.get_or_create_key()) crud = Crud(db) crud.settings.hideerror=False ... ... ... db.define_table( auth.settings.table_user_name, Field('full_name', length=128, default=''), Field('email', length=128, default='', unique=True), Field('password', 'password', length=512, readable=False, label='Password'), Field('registration_key', length=512, writable=False, readable=False, default=''), Field('reset_password_key', length=512, writable=False, readable=False, default=''), Field('registration_id', length=512, writable=False, readable=False, default=''), format="%(full_name)s") custom_auth_table = db[auth.settings.table_user_name] # get the custom_auth_table custom_auth_table.full_name.requires = IS_NOT_EMPTY(error_message=auth.messages.is_empty) custom_auth_table.password.requires = [CRYPT()] custom_auth_table.email.requires = [ IS_EMAIL(error_message='Invalid Email'), IS_NOT_IN_DB(db, custom_auth_table.email)] Controller (default.py) def home(): login = auth.login(next="index") register = auth.register(next="tos") return dict(login=login, register=register) View (default/home.html) ... <body {{if login.errors!='':}} onload="jQuery('#loginerror').modal('show')"> {{pass}} ... ... <div class="navbar-collapse nav-main-collapse collapse pull-left"> <nav class="nav-main"> <ul class="nav nav-pills nav-main scroll-menu" id="topMain"> {{=login.custom.begin}} <li> <span style="margin-top:19px;display:inline-block; color:#ffffff;">Email:</span> {{=login.custom.widget.email}} </li> <li> <span style="margin-top:19px;display:inline-block; color:#ffffff">Password:</span> {{=login.custom.widget.password}} </li> <li> {{=login.custom.submit}} </li> {{=login.custom.end}} </ul> </nav> </div> ... ... <div class="modal fade bs-example-modal-lg" id="loginerror" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"><!-- modal header --> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title alert alert-danger" id="myModalLabel"><i class="fa fa-hand-o-down"></i> Error Logging In</h4> </div><!-- /modal header --> <!-- modal body --> <div class="modal-body"> <div class="alert alert-warning"> {{if login.errors:}} {{=login.errors}} {{pass}} </div> </div> <!-- /modal body --> </div> </div> </div> ... How do I detect the incorrect password error and also the email not in database error? the ...email.requires=IS_NOT_IN_DB I believe allows my register form to work so that people can sign up. login also works perfectly if all the details are correct. I just need to fix this error issue. already searched similar topics but i'm not making any headway... -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.