Hello everyone,
I believe I've found a bug in SQLFORM.accepts.
When calling with an onvalidation function as:
form = SQLFORM(db.table)
if form.accepts(request.vars, session, onvalidation=function):
And the function sets an error:
def function(form):
form.errors.myfield = 'This is an error'
The form is still accepted, DB is inserted or updated with the record.
As far as I can tell from looking at the code in SQLFORM.accepts, the case
where ret value is False because of form.errors not being empty is not
handled anywhere.
Tested on 1.94.6
//Jens