If you are going to use a callable as the first argument to IS_EXPR, then that callable should either return None (if no error) or an error message (not sure why it was done that way -- and it's not documented).
Anthony On Wednesday, January 18, 2017 at 12:13:36 PM UTC-5, Jorrit wrote: > > I have this model, where I want to validate that the end_timeslot is not > below the start_timeslot: > > db.define_table('staffingexception', > Field('employee_id', 'reference auth_user'), > Field('from_date', 'date', required=True), > Field('to_date', 'date', required=True), > Field('from_location', 'reference location', required=True), > Field('to_location', 'reference location', required=True), > Field('start_timeslot', 'text', required=True), > Field('end_timeslot', 'text', required=True), > ) > > db.staffingexception.to_location.requires = IS_IN_DB(db, 'location.id', > '%(name)s') > db.staffingexception.end_timeslot.requires = IS_EXPR(lambda value: int(value) > > int(request.post_vars.start_timeslot), > error_message='Eindtijd > moet na de starttijd liggen.') > > > This raises either True of False as an error, instead of passing it when > the expression evaluates to True. What am I doing wrong? > -- 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.