我试图在这短短的一段代码中找出问题所在。任何帮助,将不胜感激。不管我指定 User.email 是什么,它总是返回 false。
def add(self):
#1 -- VALIDATE EMAIL ADDRESS
#Check that e-mail has been completed
try:
#Validate if e-mail address is in correct format
if (isAddressValid(self.email) == 0):
self.errors['email'] = 'You have entered an invalid e-mail address';
return 0
except NameError:
self.errors['email'] = 'Please enter your e-mail'
return 0
>>> u = User()
>>> u.email = 'test@example.com'
>>> u.add()
0
>>> print u.errors
{'email': 'Please enter your e-mail'}
我已经确认返回的 false 来自除 NameError 之外。
此外,isAddressValid() 只是一种检查电子邮件地址结构的方法。
谢谢。
最佳答案
您还没有为正例包含 return
语句......此外,当函数不包含 return
语句时,调用者会收到 None
代替......
def add(self):
#1 -- VALIDATE EMAIL ADDRESS
#Check that e-mail has been completed
try:
#Validate if e-mail address is in correct format
if (isAddressValid(self.email) == 0):
self.errors['email'] = 'You have entered an invalid e-mail address';
return False
except NameError:
self.errors['email'] = 'Please enter your e-mail'
return False
return True
关于Python try/except ... 函数总是返回 false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2356573/