[CPyUG]django自定义校验的时候总是提示没有返回HttpResponse对象是怎么回事?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[CPyUG]django自定义校验的时候总是提示没有返回HttpResponse对象是怎么回事?

shangzhihao
手册上是这样写的:
from django.core.exceptions import ValidationError
def validate_even(value):
    if value % 2 != 0:
        raise ValidationError(u’%s is not an even number’ % value)
You can add this to a model field via the field’s validators argument:
class MyModel(models.Model):
    even_field = models.IntegerField(validators=[validate_even])
Because values are converted to Python before validators are run, you
can even use the same validator with forms:

from django import forms
class MyForm(forms.Form):
    even_field = forms.IntegerField(validators=[validate_even]

我是这样写的:
from django.core.exceptions import ValidationError
import re
#校验数字
def validateNumber(value):
    if re.match('^[0-9]*$', value):
        return True
    return False
#校验手机号
def validatePhoneNumber(value):
    if len(value) == 11:
        if not validateNumber(value):
            ValidationError(u'错误的手机号')
    else:
        raise ValidationError(u'错误的手机号')
class regForm(forms.Form):

    GENDER_CHOICES = ((0,'男'),(1,'女'))

    trueName = forms.CharField(max_length=7)#姓名
    gender = forms.ChoiceField(choices=GENDER_CHOICES,
widget=forms.RadioSelect)#性别
    org = forms.CharField()#所属组织
    orgUnit = forms.CharField()#所属部门
    mobileNumber = forms.CharField(validators=[validatePhoneNumber])#手机

--------------------------------------------

如果填写的表单能通过验证就什么事都没有,如果不能通过验证就说没有返回HttpResponse对象

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [CPyUG]django自定义校验的时候总是提示没有返回HttpResponse对象是怎么回事?

Marlon Yao
你这个排版让人怎么看?!



2011/12/30 shangzhihao <[hidden email]>
手册上是这样写的:
from django.core.exceptions import ValidationError
def validate_even(value):
   if value % 2 != 0:
       raise ValidationError(u’%s is not an even number’ % value)
You can add this to a model field via the field’s validators argument:
class MyModel(models.Model):
   even_field = models.IntegerField(validators=[validate_even])
Because values are converted to Python before validators are run, you
can even use the same validator with forms:

from django import forms
class MyForm(forms.Form):
   even_field = forms.IntegerField(validators=[validate_even]

我是这样写的:
from django.core.exceptions import ValidationError
import re
#校验数字
def validateNumber(value):
   if re.match('^[0-9]*$', value):
       return True
   return False
#校验手机号
def validatePhoneNumber(value):
   if len(value) == 11:
       if not validateNumber(value):
           ValidationError(u'错误的手机号')
只这里少了一个 raise吗???
   else:
       raise ValidationError(u'错误的手机号')
class regForm(forms.Form):

   GENDER_CHOICES = ((0,'男'),(1,'女'))

   trueName = forms.CharField(max_length=7)#姓名
   gender = forms.ChoiceField(choices=GENDER_CHOICES,
widget=forms.RadioSelect)#性别
   org = forms.CharField()#所属组织
   orgUnit = forms.CharField()#所属部门
   mobileNumber = forms.CharField(validators=[validatePhoneNumber])#手机

--------------------------------------------

如果填写的表单能通过验证就什么事都没有,如果不能通过验证就说没有返回HttpResponse对象

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Loading...