Django學習系列之Form驗證

基與上篇文章,在這裏咱們用3種方式來驗證表單.django

1.表單字段的驗證器
ide

詳見:https://docs.djangoproject.com/en/1.6/ref/validators/
ui

from django.core.exceptions import ValidationError

def validate_nickname(value):
    if value == "badboy":
        raise ValidationError(u'%s is private,dont input' % value)
        
class Register(forms.Form):
    nickname = forms.CharField(max_length=20,label="暱稱",help_text="請輸入您的別名!",widget=forms.Te
xtInput(attrs={'class':'special','id':'nick'}),error_messages={'required':u'別名不能爲空'},validators
=[validate_nickname])

結果:spa

wKioL1VbNxPCCpTGAAFFHw7nx10939.jpg

2.clean_filedname,驗證字段3d

class Register(forms.Form):
    ..........................................
    def clean_username(self):
        username = self.cleaned_data.get('username')
        if username == "badboy":
            raise ValidationError(u'%s被使用了,請換個名字!' % username)
        else:
            return usernameorm

結果:blog

wKioL1VbOXWARHSLAAFKB8PxsZs615.jpg


3.表單clean方法ci

class Register(forms.Form):
............................................get


    def clean(self):
        cleaned_data = super(Register,self).clean()
        nickname = cleaned_data.get('nickname')
        username = cleaned_data.get('username')
        if nickname == username:
            self._errors['username'] = self.error_class([u"別名與用戶名不能同樣!"])
        else:
            return cleaned_datainput


結果:

wKiom1VbO6jSVULUAAEjh_kTA_c921.jpg


經過以上3種方式,咱們即可以作些表單的驗證了,我以爲這3種方式,已經知足個人需求了.

供參考!


若是想了解更多,請關注咱們的公衆號
公衆號ID:opdevos
掃碼關注

gongzhouhao.jpg

相關文章
相關標籤/搜索