zoukankan      html  css  js  c++  java
  • django_Form_自定义钩子

    from django import forms
    from django.core.exceptions import NON_FIELD_ERRORS, ValidationError
    class RegForm(forms.Form):
    
        username=forms.CharField(min_length=5,
                                 max_length=12,
                                 widget=forms.TextInput(attrs={"class":"form-control","placeholder":"username"}))
    
    
        password=forms.CharField(widget=forms.PasswordInput(attrs={"class":"form-control","placeholder":"password"}))
    
        repeat_password=forms.CharField(widget=forms.PasswordInput(attrs={"class":"form-control","placeholder":"password"}))
    
        email=forms.EmailField(widget=forms.EmailInput(attrs={"class":"form-control","placeholder":"email"}))
    
        valid_code=forms.CharField(widget=forms.TextInput(attrs={"class":"form-control","placeholder":"valid_code"}))
    
    
        def __init__(self,request,*args,**kwargs):
            super(RegForm,self).__init__(*args,**kwargs)
            self.request=request
    
    #红色部分为自定义的钩子函数 :
    
        # def clean_password(self):  #  关于密码字段的钩子
        #
        #     if len(self.cleaned_data["password"])>8:
        #         return self.cleaned_data["password"] # sadfsad234532
        #     else:
        #         raise ValidationError("密码小于8位!")
        #
        # def clean_username(self):
        #
        #     if self.cleaned_data["username"].isdigit() or self.cleaned_data["username"].isalpha():
        #         raise ValidationError("用户名必须包含数字与字母!")
        #     else:
        #         return self.cleaned_data["username"]
        #
        #
        #
        # def clean_valid_code(self):
        #     if self.cleaned_data["valid_code"].upper() ==self.request.session["valid_code"].upper():
        #         return self.cleaned_data["valid_code"]
        #
        #
        #     else:
        #         raise ValidationError("验证码错误!")
    
    
    
    
    
        # def clean(self):
        #     if self.cleaned_data["password"]==self.cleaned_data["repeat_password"]:
        #         return self.cleaned_data
        #
        #     else:
        #         raise ValidationError("密码不一致")


  • 相关阅读:
    函数学习(JY07-JavaScript-JS基础03)
    数据类型转换中的一些特殊情况(JY06-JavaScript)
    JY05-JavsScript-JS基础01
    JY03-HTML/CSS-京东02
    JY02-HTML/CSS-京东01 定位是很粗暴的页面布局方法
    JY01-KX-01
    清浮动的几种方法
    HTML/CSS一些需要注意的基础知识
    linux 实时检测web项目MD5防止网站被黑
    面试总结第一谈
  • 原文地址:https://www.cnblogs.com/575dsj/p/7909802.html
Copyright © 2011-2022 走看看