What are you expecting to happen? Are you submitting input with empty 
values for the fields you have set as required/notnull but failing to get 
an exception thrown by the DAL or the database?

Note, using the "required" and "notnull" attributes as a way of enforcing 
form validation is not a good idea, as violations do not result in 
user-friendly form errors but rather raise exceptions at the level of the 
DAL or the database (which will result in 500 error responses unless you 
explicitly catch the exceptions).

If you instead want to change the field validators based on the input, then 
conditionally check request.post_vars *before* the form creation code.

Anthony

On Monday, June 8, 2015 at 5:18:53 AM UTC-4, 黄祥 wrote:
>
> can not already tested it.
> e.g.
> def __onvalidate_receipt(form):
>     if request.vars.receipt_type == 'Purchase Order':
>         db.receipt_header.purchase_order_no.notnull = True
>         db.receipt_header.purchase_order_no.required = True
>     elif request.vars.receipt_type == 'Purchase Return':
>         db.receipt_header.purchase_return_no.notnull = True
>         db.receipt_header.purchase_return_no.required = True
>     elif request.vars.receipt_type == 'Sale Return':
>         db.receipt_header.sale_return_no.notnull = True
>         db.receipt_header.sale_return_no.required = True
>
> def receipt_form():
>     form = SQLFORM(db.receipt_header)
>     #if form.process(onvalidation = __onvalidate_receipt).accepted:
>     if form.process(onvalidate = __onvalidate_receipt).accepted:
>         response.js =  "jQuery('#receipt_checkout').get(0).reload()"
>     return dict(form = form)
>
> 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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to