예제 #1
0
 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)
예제 #2
0
    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)
예제 #3
0
 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))
예제 #4
0
 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))
예제 #5
0
 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)
예제 #6
0
    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))
예제 #7
0
    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))
예제 #8
0
 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
예제 #9
0
 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