A Row object does not know its db table (and therefore fields), so it would not be able to run validations. If you really need to validate a set of values outside the context of doing an update, it wouldn't be difficult to write a convenience function to do so (just pass in the db table, iterate through the fields, and call the Field.validate method on each value).
Anthony On Wednesday, April 2, 2014 9:23:50 PM UTC-4, Matt wrote: > Thanks. Yes that's true. > > However I do think there are definitely situations where it would be > useful to be able to call validate like this arbitrarily. > > On Thursday, April 3, 2014 2:01:17 PM UTC+13, Massimo Di Pierro wrote: >> >> You can do >> >> errors = db(db.client.id==client.id).validate_and_update_(**vars) >> >> >> >> On Wednesday, 2 April 2014 19:03:49 UTC-5, Matt wrote: >>> >>> Also adding support for >>> >>> errors = client.validate_and_update_record(**vars) >>> >>> would be useful too. >>> >>> On Thursday, April 3, 2014 12:30:55 PM UTC+13, Matt wrote: >>>> >>>> How do I achieve the following elegantly with Web2py? >>>> >>>> Before I update an in memory record I want to check it's validators to >>>> make sure it makes sense before I actually update. >>>> >>>> I.e. >>>> >>>> client = db.client(7) >>>> >>>> if not client: >>>> raise HTTP(404) >>>> >>>> errors = client.validate(**vars) <== Something like this. >>>> >>>> if errors: >>>> raise HTTP(422) >>>> >>>> client.update_record(**vars) >>>> >>>> >>>> Is that something that's possible with the current framework or could >>>> we have it added as it would be extremely useful. >>>> >>>> I noticed there seems to be a private def _validate in the dal that >>>> could be exposed for this purpose. >>>> >>>> Interested to hear your thoughts. >>>> >>>> Thanks in advance, >>>> Matt >>>> >>>> >>>> -- 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.