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.

Reply via email to