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 [email protected].
For more options, visit https://groups.google.com/d/optout.