Hello Gerd, the grid is a grid. It is not a form (although it may contain forms) therefore it does not have a grid.errors. Embedding into a form does not solve the problem.
Yet you can check if the grid contains a form and whet the errors for that form are: if grid.create_form and grid.create_form.errors: .... if grid.update_form and grid.update_form.errors: .... On Friday, 14 September 2012 06:58:19 UTC-5, Gerd wrote: > > Hi again! > > I found it, the right way is > > if FORM(grid).errors: > > > but unfortunately the response.flash gets not set, it has always the value > "Errors in form, please check it out". I tried to set it in index and in > check_km with no luck > > Has someone a good idea? > > Regards > Gerd > > > Am Freitag, 14. September 2012 13:25:45 UTC+2 schrieb Gerd: >> >> Hi! >> >> I receive the following error >> >> Traceback (most recent call last): >> File "/home/gniemetz/webapps/web2py/web2py/gluon/restricted.py", line 209, >> in restricted >> exec ccode in environment >> File >> "/home/gniemetz/webapps/web2py/web2py/applications/tauchbuch/controllers/default.py" >> <https://tauchbuch.niemetz.it/admin/edit/tauchbuch/controllers/default.py>, >> line 92, in <module> >> File "/home/gniemetz/webapps/web2py/web2py/gluon/globals.py", line 186, in >> <lambda> >> self._caller = lambda f: f() >> File "/home/gniemetz/webapps/web2py/web2py/gluon/tools.py", line 2809, in f >> return action(*a, **b) >> File >> "/home/gniemetz/webapps/web2py/web2py/applications/tauchbuch/controllers/default.py" >> <https://tauchbuch.niemetz.it/admin/edit/tauchbuch/controllers/default.py>, >> line 16, in index >> if grid.errors: >> AttributeError: 'DIV' object has no attribute 'errors' >> >> >> >> This is the controller >> >> @auth.requires_login() >> def index(): >> grid = SQLFORM >> <https://web2py.niemetz.it/examples/global/vars/SQLFORM>.grid(db.Logbuch,fields=[db.Logbuch.Datum,db.Logbuch.Kurs,db.Logbuch.Thema,db.Logbuch.Kommentar],maxtextlength=50,orderby=[~db.Logbuch.Datum],onvalidation=check_km) >> if grid.errors: >> response >> <https://web2py.niemetz.it/examples/global/vars/response>.flash = 'Bitte >> Eingaben überprüfen' >> return locals() >> >> def check_km(form): >> if form.vars.KM_Beginn >= form.vars.KM_Ende: >> form.errors.KM_Ende = 'KM-Stand Ende kleiner/gleich KM-Stand Beginn' >> >> >> What i'm trying to do is to set response.flash >> >> What am i doing wrong here? >> >> Thanks, >> regards >> Gerd >> >> >> --