Marvelous Mike, brilliant thats what I was after.

Garyc

On Jan 1, 3:42 pm, Mike Orr <[email protected]> wrote:
> On Fri, Jan 1, 2010 at 11:16 AM, gazza <[email protected]> wrote:
> > HiMike,
>
> > Firstly thankyou for helping me.
>
> > Its thowing me trying to understand "post_validators". What is
> > post_validators?
>
> > Within my code I have:
>
> > @restrict('POST')
> > @validate(schema=ClientNewForm(),form='registration')
>
> > So when the form is posted the verification takes place by calling
> > ClientNewForm()
>
> > class ClientNewForm(formencode.Schema):
> >        allow_extra_fields = True
> >        filter_extra_fields = True
> >        firstname = formencode.validators.String(not_empty=True)
> >        lastname = formencode.validators.String(not_empty=True)
> >        cardType = formencode.validators.String(not_empty=True)
> >        cardNumber = formencode.validators.String(not_empty=True)
>
> >       ccType=cardType
> >       ccNumber=cardNumber
> >       cc = formencode.validators.CreditCardValidator()
>
> > If this isnt too much to ask, could you provide a simple example or
> > point me to a resource that
> > explains this to me.
>
> Sorry, they're called chained_validators.http://formencode.org/Validator.html
>
> import formencode.validators as v
> class ClientNewForm(formencode.Schema):
>        allow_extra_fields = True
>        filter_extra_fields = True
>        firstname =v.String(not_empty=True)
>        lastname = v.String(not_empty=True)
>        cc_type =v.String(not_empty=True)
>        cc_number = v.String(not_empty=True)
>        cc_expires_month = v.String(not_empty=True)
>        cc_expires_year = v.String(not_empty=True)
>        cc_code = v.String(not_empty=True)
>
>        chained_validators = [
>            v.CreditCardValidator("cc_type", "cc_number"),
>            v.CreditCardExpires("cc_expires_month", "cc_expires_year),
>            v.CreditCardSecurityCode("cc_type", "cc_code"),
>        ]
>
> Regular validators operate on a scalar value, but chained validators
> operate on the entire form dict. The entire schema itself also
> operates on the form dict, as do pre validators, which are all
> explained in the URL above.
>
> To figure the arguments out, I looked at the source of
> formencode/validators.py.  The CreditCard* validators each have an
> '__unpackargs__' attribute, which lists the positional arguments the
> constructor requires.  In this case, it needs to know the names of the
> relevant fields in your form.  This should be better documented, and
> when I have time I'm planning to write a better FormEncode manual. In
> the meantime, look through the source of formencode, particularly
> validators.py, api.py, schema.py, and declarative.py, and that may
> give you a better idea how they all work.
>
> --
> Mike Orr <[email protected]>- Hide quoted text -
>
> - Show quoted text -

--

You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.


Reply via email to