def __init__(self, name, description=None, default=None, required=0, setable=1, error_format="%(error)s", **view_attrs): ValidatingMixin.__init__(self, error_format) TextField.__init__(self, name, description, default, required, setable, **view_attrs)
def __init__(self, name, description, defaultState=None, defaultCountry=None, multiple=1, setable=1, componentFieldDelimiter='_', valueComposer=_defaultValueComposer, layout=None): if not defaultCountry: defaultCountry = 'US' # an international address field consists of two address lines, # a city, a state, a province, a postal code and a country add1 = TextField('address1', description='Address 1', size='40') add2 = TextField('address2', description='Address 2', size='40') cty = TextField('city', description='City', size='40') st = SelectField('state', STATE_LIST, default=defaultState, description='Your State', multiple=0, size=1) prov = TextField('province', description='Province (if outside US)', size='40') cntry = SelectField('country', COUNTRY_CODES, description='Your Country', default=defaultCountry, multiple=0, size=1) pstl = TextField('postal', description='Postal Code', size='40') # keep a reference to the fields to make validation simpler # [no looping over fields] self._address1 = add1 self._address2 = add2 self._city = cty self._state = st self._province = prov self._country = cntry self._postal = pstl #This address field maintains a set list of fields componentFields = [add1, add2, cty, st, prov, cntry, pstl] ViewableCompositeField.__init__(self, name, description, None, multiple, setable, componentFields, componentFieldDelimiter)
def validate(self, form=None): errorlist = TextField.validate(self) or [] if self.value: try: float(self.value) except ValueError, ve: errorlist.append(self.formatError(error=ve))
def validate(self, form=None): errorlist = TextField.validate(self) or [] if self.value: try: time.strptime(self.value, self.format) except ValueError, ve: errorlist.append(self.formatError(error=ve, format=self.format))
def validate(self, form=None): errorlist = TextField.validate(self) or [] if self.value: if not check_isbn(self.value): errorlist.append(self.formatError(error="invalid ISBN")) return errorlist