Maybe something like this:

def allows_none(field):
    from pydal._globals import DEFAULT
    requires = field.requires if field.requires and field.requires != 
DEFAULT else []
    requires = requires if isinstance(requires, list) else [requires]
    return not any(validator(None)[1] != None for validator in requires)

Then simply check via:

allows_none(db.mytable.myfield)

Note, the above only checks validators -- if you also want to check for the 
"notnull" or "required" attributes, you can add those checks to the 
function. It also only checks for the specific value None -- you could 
extend it to check for empty strings (and possibly empty lists in the case 
of list:-type fields) as well.

Anthony

-- 
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