tables have following requires too
db.languages.full.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB(db,
'languages.full')]
db.languages.short.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB(db,
'languages.short')]
db.languages.natural.requires = [IS_NOT_IN_DB(db, 'languages.natural')]
db.words.word.requires = IS_NOT_EMPTY()
db.words.lang.requires = IS_IN_DB(db, 'languages.id','%(full)s - %(short)s'
)
db.words.entry_by.requires = [IS_IN_DB(db, 'auth_user.id')]
db.pictures.image.requires = [IS_NOT_EMPTY(), IS_LENGTH(262144, 4096),
IS_IMAGE(minsize=(60, 60))] #min_size 4kb,
max_size 256kb; min_width 60px min_height 60px
db.pictures.entry_by.requires = [IS_IN_DB(db, 'auth_user.id')]