form鉤子函式(HOOK)
阿新 • • 發佈:2022-04-05
""" 在特定的節點自動觸發完成響應操作 鉤子函式在forms元件中就類似於第二道關卡,能夠讓我們自定義校驗規則 在forms元件中有兩類鉤子 1.區域性鉤子 當你需要給單個欄位增加校驗規則的時候可以使用 2.全域性鉤子 當你需要給多個欄位增加校驗規則的時候可以使用 """ # 實際案例 # 1.校驗使用者名稱中不能含有666 只是校驗username欄位 區域性鉤子 # 2.校驗密碼和確認密碼是否一致 password confirm兩個欄位 全域性鉤子 # 鉤子函式 在類裡面書寫方法即可 # 區域性鉤子 def clean_username(self): # 獲取到使用者名稱 username = self.cleaned_data.get('username') if '666' in username: # 提示前端展示錯誤資訊 self.add_error('username','光喊666是不行滴~') # 將鉤子函式鉤去出來資料再放回去 return username # 全域性鉤子 def clean(self): password = self.cleaned_data.get('password') confirm_password = self.cleaned_data.get('confirm_password') if not confirm_password == password: self.add_error('confirm_password','兩次密碼不一致') # 將鉤子函式鉤出來資料再放回去 return self.cleaned_data ```