Hello I have a new problem with my forms.
I have validators on the fields But looks like they are not triggered, so for example When I insert a new record a first check should be done on the fields like is_not_empty etc. Then if that is all ok it has to check the field sh_code and if this code already exist in the database i want a redirect link so far the link and everything works ok, but the first validators are not working so i get an error cos the sh_.field which is autogenerate is not done this is the part of the code that creates a link for flash msg if (grid_shifts.create_form and grid_shifts.create_form.errors) or ( grid_shifts.update_form and grid_shifts.update_form.errors): codeField = grid_shifts.element('input[name=sh_code]')['value'] shiftId = db(db.shifts.sh_code == codeField).select(db.shifts.id).as_list() redId = shiftId[0]["id"] URL('turnusi/edit/shifts', args= redId) 'static','js/web2py-bootstrap3.js' session.flash= A(T("Click here if you want to activate shift with that code or if you want to be redirected to the shift."), _href=URL( 'turnusi/edit/shifts', args= redId)) validators db.shifts.sh_name.requires = [IS_NOT_EMPTY(error_message=T('Missing shift name'))] db.shifts.sh_color.requires = [IS_NOT_EMPTY(error_message=T('Missing shift color'))] db.shifts.sh_start1.requires = [IS_NOT_EMPTY(error_message=T('Missing start time of the shift'))] db.shifts.sh_end1.requires = [IS_NOT_EMPTY(error_message=T('Missing end time of the shift'))] On Tuesday, July 22, 2014 at 7:45:16 PM UTC+8, Anthony wrote: > > Sorry, forgot that you have to extract the form from the grid object. You > can also get the create and update forms via: > > form = grid.element('.web2py_form') > > Note, that will be None if there is no form (e.g., when loading just the > grid), so first test that it exists. > > Anthony > > On Tuesday, July 22, 2014 2:46:59 AM UTC-4, Massimo Di Pierro wrote: >> >> you say form = SQLFORM.grid(....) but this is not a form, this is a grid >> even if you call it form. Therefore there is no form.process(), there is no >> form.accepted, there is no form.errors etc. This if not a form. >> >> A grid MAY contain a form so you should do: >> >> grid = SQLFORM.grid() >> if grid.create_form: >> if grid.create_form.errors: >> .... >> elif grid.update_form: >> if grid.update_form.errors: >> ... >> >> NEVER call process() for these forms. The grid process them automatically >> and you should never process() twice. >> >> On Tuesday, 22 July 2014 01:35:07 UTC-5, Yebach wrote: >>> >>> Looks like everything I do with form.* after I declare it in my >>> controller I get an error >>> >>> What am I doing wrong here? >>> >>> >>> 2014-07-22 8:15 GMT+02:00 Vid Ogris <vid....@gmail.com <javascript:>>: >>> >>>> If I use >>>> if form.accepted: >>>> >>>> I still get an error >>>> <type 'exceptions.AttributeError'> 'DIV' object has no attribute >>>> 'accepted' >>>> >>>> I put <div class="flash">{{=response.flash}}</div> in my view >>>> >>>> >>>> 2014-07-21 16:05 GMT+02:00 Anthony <abas...@gmail.com <javascript:>>: >>>> >>>> The message is in response.flash, so you need to display that in your >>>>> view somewhere (it is already present in the layout.html of the >>>>> scaffolding >>>>> app). >>>>> >>>>> Anthony >>>>> >>>>> >>>>> On Monday, July 21, 2014 8:23:16 AM UTC-4, Yebach wrote: >>>>>> >>>>>> Thank you on fast reply >>>>>> >>>>>> How do I present this message in my view? >>>>>> >>>>>> >>>>>> 2014-07-21 14:13 GMT+02:00 Anthony <abas...@gmail.com <javascript:>>: >>>>>> >>>>>>> Do not call the .process method on a grid -- it automatically does >>>>>>> the processing itself. If you don't like the default flash messages, >>>>>>> you >>>>>>> can do: >>>>>>> >>>>>>> if form.accepted: >>>>>>> >>>>>>> or: >>>>>>> >>>>>>> SQLFORM.grid(..., formargs=dict(message_onsuccess='form accepted', >>>>>>> message_onfailure='form has errors' >>>>>>> )) >>>>>>> >>>>>>> >>>>>>> Anthony >>>>>>> >>>>>>> >>>>>>> On Monday, July 21, 2014 6:43:00 AM UTC-4, Yebach wrote: >>>>>>>> >>>>>>>> Hello >>>>>>>> >>>>>>>> I have a SQLForm.grid. >>>>>>>> >>>>>>>> I want to create a response.flash message but on my if evaluation I >>>>>>>> get an error when my edit view is done >>>>>>>> >>>>>>>> <type 'exceptions.AttributeError'> 'DIV' object has no attribute >>>>>>>> 'process' >>>>>>>> even on my sqlform.grid view >>>>>>>> >>>>>>>> this is my controller function >>>>>>>> >>>>>>>> form = SQLFORM.grid(query=query, >>>>>>>> left=db.status.on(db.worker.w_status == db.status.id), >>>>>>>> fields=fields, searchable=True, orderby=default_sort_order,cre >>>>>>>> ate=True, >>>>>>>> deletable=True, editable=True, paginate=25, buttons_placement = >>>>>>>> 'right') >>>>>>>> if form.process().accepted: >>>>>>>> response.flash = 'form accepted' >>>>>>>> elif form.errors: >>>>>>>> response.flash = 'form has errors' >>>>>>>> else: >>>>>>>> response.flash = 'please fill the form' >>>>>>>> # Note: no form instance is passed to the view >>>>>>>> return dict(form=form) >>>>>>>> >>>>>>>> -- >>>>>>> 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/2ikYrc84qB4/unsubscribe. >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> web2py+un...@googlegroups.com <javascript:>. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Lep pozdrav >>>>>> >>>>>> Vid Ogris >>>>>> >>>>>> >>>>>> -- >>>>> 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/2ikYrc84qB4/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> web2py+un...@googlegroups.com <javascript:>. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>>> >>>> -- >>>> Lep pozdrav >>>> >>>> Vid Ogris >>>> >>>> >>>> >>> >>> >>> -- >>> Lep pozdrav >>> >>> Vid Ogris >>> >>> >>> -- 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.