This:
@service.jsonrpc
def update(record):
errors = validate(db.mytable, record)
if errors:
return dict(success=False, msg=', '.join(errors))
else:
db(db.mytable.id == record.id).update(record)
return dict(success=True)
should be
@request.restful()
def update:
def PUT(id,**record):
errors = db.mytbale._validate(**record).values()
if errors:
return dict(success=False, msg=', '.join(errors))
else:
db(db.mytable.id == id).update(**record)
return dict(success=True)
return locals()
and call it with a PUT method at URL:
/.../<record id>?field=value
Massimo
On Mar 20, 3:56 am, Marcel Luethi <[email protected]> wrote:
> Hi all
>
> I'm looking for a way to validate the record data I receive from a
> webservice.
> Because there is no form associated it seems that I cannot use SQLFORM
> and form.accepts().
>
> Is there any other way to use the already defined validators to do the
> check?
>
> I'm searching for something like (untested):
>
> @service.jsonrpc
> def update(record):
> errors = validate(db.mytable, record)
> if errors:
> return dict(success=False, msg=', '.join(errors))
> else:
> db(db.mytable.id == record.id).update(record)
> return dict(success=True)
>
> TIA - Marcel