I still do not see why you cannot use IS_NOT_IN_DB(sqlset,....) You
must have access to the variables that you want to validate.

Massimo

On Dec 12, 3:01 pm, Timothy Farrell <tfarr...@swgen.com> wrote:
> The page in question is sorta like an SQLtable, it displays a full table and 
> allows for updates to each record without branching off to a separate page.  
> When the user is done making changes the wraps up the changes made and POSTs 
> a JSON object to the web2py controller.
> This is a custom built page that uses Javascript to wrap up the data and 
> build the JSON object.  Once in the controller, the controller unpacks the 
> JSON object and sends it to through an SQLFORM.accepts() validator (in a loop 
> since there are multiple records).
> So you see, the data being validated does not directly come from 
> requests.vars in a form that I can put in a application-wide validator.
> -tim
> mdipierro wrote:I do not understand. Where is your input from? Massimo On Dec 
> 12, 2:42 pm, Timothy Farrell<tfarr...@swgen.com>wrote:Yes, that would work if 
> I used normal HTML forms (and I think that was what I was looking for 
> previously), but in my case, what would berequest.vars.field1in your example 
> is really something likesimplejson.loads(request.vars.JSONdata)[2]['field1']. 
> And since that changes on a controller level, I can't put it in as a database 
> validator (which I would like to do). I could, of course, code a custom 
> validator for each controller, but that gets around the point of having a DAL 
> that can enforce database integrity. mdipierro wrote:you do not need this 
> because you can already do it. requires=IS_NOT_IN_DB(db 
> (db.table.field1==request.vars.field1),'table.field2') Massimo On Dec 12, 
> 2:20 pm, Timothy Farrell<tfarr...@swgen.com>wrote:Yes, this would require 
> changing some things in gluon.validators and gluon.html. I'm of the mindset 
> that this sort of validator is very important. However, I'll have to look 
> into it later. Could you send me your code if you still have it? Thanks, tim 
> DenesL wrote:Oops, I misunderstood your goal. Actually I wrote a 
> ROW_NOT_IN_DB validator which did not get Massimo's approval, but looking 
> back it might have been because I used a bad example to make the case. 
> Anyways, just coding the validator was not enough, I had to modify a few 
> things in gluon too. On Dec 12, 12:19 pm, Timothy 
> Farrell<tfarr...@swgen.com>wrote:Hel p me understand how this works. "value", 
> in the expression, gets replaced with the value being validated, correct? If 
> so, then your suggestions check if field1 == field2. That's not quite what 
> I'm looking for. What I'm looking for would be something like 
> this:ARE_NOT_IN_DB(db, 'table', ['field1', 'field2', 'field3], 
> error_message='ACK!') I think I'll have to code this up real quick. DenesL 
> wrote:You can probably tailor this to your needs: 
> db.mytable.field2.requires=IS_EXPR('value==%s' % repr 
> (request.vars.field1),error_message='oops!') or the equivalent (and more 
> flexible): db.mytable.field2.requires=IS_EXPR('True' ),error_message='oops!') 
> db.mytable.field2.requires.expressions='value==%s' % repr 
> (request.vars.field1)-- Timothy Farrell<tfarr...@swgen.com>Computer Guy 
> Statewide General Insurance Agency (www.swgen.com)-- Timothy 
> Farrell<tfarr...@swgen.com>Computer Guy Statewide General Insurance Agency 
> (www.swgen.com)-- Timothy Farrell<tfarr...@swgen.com>Computer Guy Statewide 
> General Insurance Agency (www.swgen.com)-- Timothy 
> Farrell<tfarr...@swgen.com>Computer Guy Statewide General Insurance Agency 
> (www.swgen.com)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to