>
> 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.

Reply via email to