Exemplo n.º 1
0
    def __init__(self, *args, **kwargs):
        Schema.__init__(self, *args, **kwargs)

        for v in self.fields.itervalues():
            for attr in ('if_empty', 'if_missing', 'if_invalid', 'min', 'max', 'value'):
                if hasattr(v, attr):
                    default = getattr(v, attr)
                    if default is not formencode.api.NoDefault and callable(default):
                        setattr(v, attr, default())
Exemplo n.º 2
0
    def __init__(self, formdata, submit='form.submitted',
                 cancel='form.cancel'):
        Schema.__init__(self)
        self.defaults = {}
        for name, value in self.fields.items():
            default = getattr(value, 'default', None)
            if default is not None:
                self.defaults[name] = value.default
        self.formdata = formdata
        self.submit = submit
        self.cancel = cancel

        # Merge field defaults with any request.POST data passed in
        self.fieldvalues = deepcopy(self.defaults)
        for key, value in self.formdata.items():
            self.fieldvalues[key] = value
Exemplo n.º 3
0
 def __init__(self, fields=None, **kwargs):
     Schema.__init__(self, **kwargs)
     if fields:
         for (name, validator) in fields:
             self.add_field(name, validator)