def location_add(request): form = Form(request, schema=LocationSchema()) if form.validate(): location = form.bind(models.Location()) with transaction.manager: models.DBSession.add(location) locations = models.DBSession.query(models.Location).all() locations_list = [(location.id, location.name) for location in locations] return {"page": "Locations", "items": locations_list, "headings": headings} else: print form.all_errors() print form.errors_for('parent') print "Form validation failed"
def location_add(request): form = Form(request, schema=LocationSchema()) if form.validate(): location = form.bind(models.Location()) with transaction.manager: models.DBSession.add(location) locations = models.DBSession.query(models.Location).all() locations_list = [(location.id, location.name) for location in locations] return { "page": "Locations", "items": locations_list, "headings": headings } else: print form.all_errors() print form.errors_for('parent') print "Form validation failed"
def test_errors_for(self): from pyramid_simpleform import Form request = testing.DummyRequest() request.method = "POST" form = Form(request, SimpleFESchema) self.assert_(not(form.validate())) self.assert_(form.is_validated) self.assert_('name' in form.errors) self.assert_(form.errors_for('name') == ['Missing value'])
def test_validate_bad_input_with_validators(self): from pyramid_simpleform import Form request = testing.DummyRequest() request.method = "POST" form = Form(request, validators=dict(name=validators.NotEmpty())) self.assert_(not form.validate()) self.assert_(form.is_validated) self.assert_(form.is_error('name')) self.assert_(form.errors_for('name') == ['Please enter a value'])
def test_errors_for(self): from pyramid_simpleform import Form request = testing.DummyRequest() request.method = "POST" form = Form(request, SimpleFESchema) self.assert_(not (form.validate())) self.assert_(form.is_validated) self.assert_('name' in form.errors) self.assert_(form.errors_for('name') == ['Missing value'])
def test_validate_bad_input_with_validators(self): from pyramid_simpleform import Form request = testing.DummyRequest() request.method = "POST" form = Form(request, validators=dict(name=validators.NotEmpty())) self.assert_(not form.validate()) self.assert_(form.is_validated) self.assert_(form.is_error("name")) self.assert_(form.errors_for("name") == ["Please enter a value"])
class ModelState(object): def __init__(self, request): def formencode_translator(x): if not isinstance(x, TranslationString): x = fe_tsf(x) return request.translate(x) self.form = Form(request, state=State(_=formencode_translator, request=request)) self.renderer = CiocFormRenderer(self.form) self._defaults = None @property def is_valid(self): return not self.form.errors @property def schema(self): return self.form.schema @schema.setter # NOQA def schema(self, value): if self.form.schema: raise RuntimeError("schema property has already been set") self.form.schema = value @property def validators(self): return self.form.validators @validators.setter # NOQA def validators(self, value): if self.form.validators: raise RuntimeError("validators property has alread been set") self.form.validators = value @property def method(self): return self.form.method @method.setter # NOQA def method(self, value): self.form.method = value @property def defaults(self): return self._defaults @defaults.setter # NOQA def defaults(self, value): if self._defaults: raise RuntimeError("defaults property has already been set") if self.form.is_validated: raise RuntimeError("Form has already been validated") self._defaults = value self.form.data.update(value) @property def data(self): return self.form.data def validate(self, *args, **kw): return self.form.validate(*args, **kw) def bind(self, obj=None, include=None, exclude=None): if obj is None: obj = DefaultModel() return self.form.bind(obj, include, exclude) def value(self, name, default=None): return self.renderer.value(name, default) def is_error(self, name): return self.renderer.is_error(name) def errors(self): return self.form.errors def errors_for(self, name): return self.renderer.errors_for(name) def add_error_for(self, name, msg): errlist = self.form.errors_for(name) errlist.append(msg) self.form.errors[name] = errlist
class ModelState(object): def __init__(self, request): self.form = Form(request) self.renderer = CiocFormRenderer(self.form) self._defaults = None @property def is_valid(self): return not self.form.errors @property def schema(self): return self.form.schema @schema.setter def schema(self, value): if self.form.schema: raise RuntimeError("schema property has already been set") self.form.schema = value @property def validators(self): return self.form.validators @validators.setter def validators(self, value): if self.form.validators: raise RuntimeError("validators property has alread been set") self.form.validators = value @property def method(self): return self.form.method @method.setter def method(self, value): self.form.method = value @property def defaults(self): return self._defaults @defaults.setter def defaults(self, value): if self._defaults: raise RuntimeError("defaults property has already been set") if self.form.is_validated: raise RuntimeError("Form has already been validated") self._defaults = value self.form.data.update(value) @property def data(self): return self.form.data def validate(self, *args, **kw): return self.form.validate(*args, **kw) def bind(self, obj=None, include=None, exclude=None): if obj is None: obj = DefaultModel() return self.form.bind(obj, include, exclude) def value(self, name, default=None): return self.renderer.value(name, default) def is_error(self, name): return self.renderer.is_error(name) def errors(self): return self.form.errors def errors_for(self, name): return self.renderer.errors_for(name) def add_error_for(self, name, msg): errlist = self.form.errors_for(name) errlist.append(msg) self.form.errors[name] = errlist
class ModelState(object): def __init__(self, request): self.form = Form(request) self.renderer = CiocFormRenderer(self.form) self._defaults = None @property def is_valid(self): return not self.form.errors @property def schema(self): return self.form.schema @schema.setter def schema(self, value): if self.form.schema: raise RuntimeError, \ "schema property has already been set" self.form.schema = value @property def validators(self): return self.form.validators @validators.setter def validators(self, value): if self.form.validators: raise RuntimeError, \ "validators property has alread been set" self.form.validators = value @property def method(self): return self.form.method @method.setter def method(self, value): self.form.method = value @property def defaults(self): return self._defaults @defaults.setter def defaults(self, value): if self._defaults: raise RuntimeError, \ "defaults property has already been set" if self.form.is_validated: raise RuntimeError, \ "Form has already been validated" self._defaults = value self.form.data.update(value) @property def data(self): return self.form.data def validate(self, *args, **kw): return self.form.validate(*args, **kw) def bind(self, obj=None, include=None, exclude=None): if obj is None: obj = DefaultModel() return self.form.bind(obj, include, exclude) def value(self, name, default=None): return self.renderer.value(name, default) def is_error(self, name): return self.renderer.is_error(name) def errors(self): return self.form.errors def errors_for(self, name): return self.renderer.errors_for(name) def add_error_for(self, name, msg): errlist = self.form.errors_for(name) errlist.append(msg) self.form.errors[name] = errlist