What do you mean by "call a function from form.process"? At what point do 
you want to call a function? If you want to call a function if the form is 
accepted, then your first example is the way to do it. If you would instead 
like to call a function upon validation, but before further processing and 
acceptance, then use the onvalidation 
<http://web2py.com/books/default/chapter/29/07/forms-and-validators#onvalidation>
 
argument:

form.process(onvalidation=after_validation)

Anthony

On Saturday, April 4, 2015 at 11:51:02 PM UTC-4, 黄祥 wrote:
>
> hi,
>
> is it possible to call a function from form.process()?
> e.g. 
> *work*
> def test():
> form = SQLFORM(db.test)
> if form.process().accepted:
> db.auth_event.insert(time_stamp = request.now, client_ip = request.client, 
>  user_id = auth.user_id, origin = '%s' % (request.function), 
>  description = 'ID created')
> return dict(form = form)
>
> *not work*
> def oncreate_event(form):
> db.auth_event.insert(time_stamp = request.now, client_ip = request.client, 
>  user_id = auth.user_id, origin = '%s' % (request.function), 
>  description = 'ID created')
>
> def test():
> form = SQLFORM(db.test)
> if form.process().accepted:
> oncreate_event
> return dict(form = form)
>
> why i can't call a function from form.process()? what is the correct way 
> in web2py to call a function in form.process()?
>
> thanks and best regards,
> stifan
>

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