A validator must be a class, not a method. custom_auth_table.dt_b.requires = IS_INT_IN_RANGE(18, 120)
On Sunday, 24 July 2016 13:56:27 UTC-5, Morganti wrote: > > Hello, > > I am new in python and web2py also. > > I tryed to create a custom auth because I have a project and it is needing > a lot validation on user creation action. > > I need to validate the birthdate and it is needing to be >= 18 from today. > So, I tried to create a requires like: > > custom_auth_table.dt_b.requires = lambda custom_auth_table.dt_nasc: True > if (hoje-int(str(custom_auth_table.t_b)[4:])) >= 18 else False > > but I having a error: > > Traceback (most recent call last): > File "/home/87k/web2py/gluon/restricted.py", line 227, in restricted > exec ccode in environment > File "/home/87k/web2py/applications/87k/controllers/default.py" > <https://87k.pythonanywhere.com/admin/edit/87k/controllers/default.py>, line > 77, in <module> > File "/home/87k/web2py/gluon/globals.py", line 417, in <lambda> > self._caller = lambda f: f() > File "/home/87k/web2py/applications/87k/controllers/default.py" > <https://87k.pythonanywhere.com/admin/edit/87k/controllers/default.py>, line > 41, in user > return dict(form=auth()) > File "/home/87k/web2py/gluon/tools.py", line 1941, in __call__ > return getattr(self, args[0])() > File "/home/87k/web2py/gluon/tools.py", line 3351, in register > hideerror=self.settings.hideerror): > File "/home/87k/web2py/gluon/sqlhtml.py", line 1529, in accepts > **kwargs > File "/home/87k/web2py/gluon/html.py", line 2122, in accepts > status = self._traverse(status, hideerror) > File "/home/87k/web2py/gluon/html.py", line 889, in _traverse > newstatus = c._traverse(status, hideerror) and newstatus > File "/home/87k/web2py/gluon/html.py", line 889, in _traverse > newstatus = c._traverse(status, hideerror) and newstatus > File "/home/87k/web2py/gluon/html.py", line 889, in _traverse > newstatus = c._traverse(status, hideerror) and newstatus > File "/home/87k/web2py/gluon/html.py", line 889, in _traverse > newstatus = c._traverse(status, hideerror) and newstatus > File "/home/87k/web2py/gluon/html.py", line 896, in _traverse > newstatus = self._validate() > File "/home/87k/web2py/gluon/html.py", line 1867, in _validate > raise Exception(msg) > Exception: Validation error, field:dt_nasc <function <lambda> at > 0x7f8d7e494668> > > > I need how to do these requires because I need to perform another validation, > there is a possibility the unique user has 5 accounts and I will use a specif > document number, I will need to create another funcition to check 5 "counts" > on auth_user table. > > I believe learning the first problem, I will be able to do the second > validation. > > Thank you in advance. > > Best regards > > André > > -- 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.