>
> 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'))]
>
If there is sh_start1 there has to be a sh_end1, because this way i
generate sh_code field with javascript
Do you think i should create the value for sh_code field on server or on
client?
>
>
>
>
>
>
>
>
> 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 <[email protected]>:
>>>>
>>>>> 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 <[email protected]>:
>>>>>
>>>>> 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 <[email protected]>:
>>>>>>>
>>>>>>>> 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
>>>>>>>> [email protected].
>>>>>>>> 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
>>>>>> [email protected].
>>>>>> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.