The first issue is that, I don't know a simple way (using sqlform.grid) to return to the form even if the validation has passed successfully. The second is to display the error message. Maybe we can add an error_message parameter to _before_* ?
Paolo 2014-08-18 17:35 GMT+02:00 Anthony <[email protected]>: > So, you want to add some logic to SQLFORM.accepts so if an insert or > update fails after validation passes, the form still reports an error? > Would you specify the error message in the call to SQLFORM.accepts? > > Anthony > > > On Monday, August 18, 2014 11:25:32 AM UTC-4, Paolo Valleri wrote: >> >> Hi all, >> a common problem is a constraint on multiple fields. There are few ways >> to handle this situation, I tried by using the _before_* callbacks. >> Currently, if the the callback return True (which means that the >> constrains validation is failed) the sqlform.grid doesn't raise any message >> or notification. >> Is that the correct behavior? >> >> An example is that: >> def index(): >> def some_logic(f): return True >> db.define_table('station', >> Field('name'), >> ) >> db.station._before_insert.append(some_logic) >> grid = SQLFORM.grid(db.station) >> >> return {'grid':grid} >> By using this example, a record will be never stored but the grid will >> 'correctly' return every time. If you have many items, it will be difficult >> to understand what really happened. >> I know that I can add session.flash = 'error message' in the some_logic >> function to display a flash message in case of error but even in this case >> the user will lose the form with the filled fields. >> >> From my point of view, a possible alternative scenario would be to 'stay' >> in the form and to show to the user a general error message on top of the >> form. >> Any idea? >> >> Paolo >> > -- > 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 a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/BB32aGzGtuQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

