Fix in webmodel for add new error messages

This commit is contained in:
Antonio de la Rosa 2017-10-03 18:16:00 +02:00
parent 24af1883f9
commit fa536032f1
7 changed files with 36 additions and 15 deletions

View file

@ -82,6 +82,8 @@ class FloatField(PhangoField):
def __init__(self, name, size=11, required=False): def __init__(self, name, size=11, required=False):
super(FloatField, self).__init__(name, size, required) super(FloatField, self).__init__(name, size, required)
self.error_default="The value is zero"
def check(self, value): def check(self, value):
"""Method for check if value is integer """Method for check if value is integer
@ -99,12 +101,12 @@ class FloatField(PhangoField):
value=str(float(value)) value=str(float(value))
if value=="0" and self.required==True: if value=="0" and self.required==True:
self.txt_error="The value is zero" self.txt_error=self.error_default
self.error=True self.error=True
except: except:
value="0" value="0"
self.txt_error="The value is zero" self.txt_error=self.error_default
self.error=True self.error=True
return value return value
@ -187,6 +189,8 @@ class BooleanField(IntegerField):
super(IntegerField, self).__init__(name, size, required) super(IntegerField, self).__init__(name, size, required)
self.default_error="Need 0 or 1 value"
def check(self, value): def check(self, value):
self.error=False self.error=False
@ -197,13 +201,13 @@ class BooleanField(IntegerField):
value=int(value) value=int(value)
if value<0 or value>1: if value<0 or value>1:
self.txt_error="Need 0 or 1 value" self.txt_error=self.default_error
self.error=True self.error=True
except: except:
self.error=True self.error=True
self.txt_error="Need 0 or 1 value" self.txt_error=self.default_error
value=0 value=0
value=str(value) value=str(value)

View file

@ -9,6 +9,8 @@ class ArrayField(PhangoField):
self.field_type=field_type self.field_type=field_type
self.error_default='Sorry, the json array is invalid'
def check(self, value): def check(self, value):
if type(value).__name__=='str': if type(value).__name__=='str':
@ -18,7 +20,7 @@ class ArrayField(PhangoField):
value=[] value=[]
self.error=True self.error=True
self.txt_error='Sorry, the json array is invalid' self.txt_error=self.error_default
elif type(value).__name__!='list': elif type(value).__name__!='list':

View file

@ -12,6 +12,8 @@ class DateField(PhangoField):
self.utc=True self.utc=True
self.error_default='Date format invalid'
def check(self, value): def check(self, value):
if self.utc: if self.utc:
@ -21,13 +23,13 @@ class DateField(PhangoField):
elif not datetime.obtain_timestamp(value, True): elif not datetime.obtain_timestamp(value, True):
self.error=True self.error=True
self.txt_error='Date format invalid' self.txt_error=self.error_default
return '' return ''
if value==False: if value==False:
self.error=True self.error=True
self.txt_error='Date format invalid' self.txt_error=self.error_default
return '' return ''
return value return value

View file

@ -9,6 +9,8 @@ class DictField(PhangoField):
self.field_type=field_type self.field_type=field_type
self.error_default='Sorry, the json dict is invalid'
def check(self, value): def check(self, value):
if type(value).__name__=='str': if type(value).__name__=='str':
@ -18,13 +20,13 @@ class DictField(PhangoField):
value={} value={}
self.error=True self.error=True
self.txt_error='Sorry, the json dict is invalid' self.txt_error=self.error_default
elif type(value).__name__!='dict': elif type(value).__name__!='dict':
value={} value={}
self.error=True self.error=True
self.txt_error='Sorry, the json array is invalid' self.txt_error=self.error_default
for k,v in value.items(): for k,v in value.items():

View file

@ -5,6 +5,12 @@ mail_pattern=re.compile("\w[\w\.-]*@\w[\w\.-]+\.\w+")
class EmailField(CharField): class EmailField(CharField):
def __init__(self, name, size=1024, required=False):
super().__init__(name, size, required)
self.error_default='Error: No valid format'
def check(self, value): def check(self, value):
value=super().check(value) value=super().check(value)
@ -16,6 +22,6 @@ class EmailField(CharField):
self.error=True self.error=True
value="" value=""
self.txt_error='No valid format' self.txt_error=self.error_default
return value return value

View file

@ -29,11 +29,11 @@ class PasswordField(PhangoField):
return "" return ""
else: else:
self.txt_error="The field is empty" self.txt_error=self.error_default
self.error=True self.error=True
else: else:
self.txt_error="The field is empty" self.txt_error=self.error_default
self.error=True self.error=True
else: else:

View file

@ -98,6 +98,10 @@ class PhangoField:
self.t=None self.t=None
# Error by default
self.error_default='Error: field required'
# This method is used for describe the new field in a sql language format. # This method is used for describe the new field in a sql language format.
@ -129,7 +133,7 @@ class PhangoField:
#value=WebModel.escape_sql(value) #value=WebModel.escape_sql(value)
if value=="": if value=="":
self.txt_error="The field is empty" self.txt_error=self.error_default
self.error=True self.error=True
@ -168,11 +172,12 @@ class PrimaryKeyField(PhangoField):
self.protected=True self.protected=True
self.name_form=HiddenForm self.name_form=HiddenForm
self.required=True self.required=True
self.error_default="The value is zero"
def check(self, value): def check(self, value):
self.error=None self.error=None
self.txt_error='' self.txt_error=self.error_default
if value=='': if value=='':
value='0' value='0'
@ -186,7 +191,7 @@ class PrimaryKeyField(PhangoField):
value=0 value=0
if value==0: if value==0:
self.txt_error="The value is zero" self.txt_error=self.error_default
self.error=True self.error=True