1. 程式人生 > >Django框架學習筆記(25.Form元件驗證)

Django框架學習筆記(25.Form元件驗證)

簡單的使用者註冊:

urls.py加入:

url(r'^fm/$', views.fm),

views.py:

from django import forms

class FM(forms.Form):
    user = forms.CharField(error_messages={'required': '使用者名稱不能為空'})
    pwd = forms.CharField(
        max_length=12,
min_length=6,
error_messages={'required': '密碼不能為空', ' min_length': '密碼長度不能小於6'
, 'max_length': '密碼長度不能大於12'} ) email = forms.EmailField(error_messages={'required': '郵箱不能為空', 'invalid': "郵箱格式錯誤"}) from app01 import models def fm(request): if request.method == "GET": obj = FM() return render(request, 'fm.html', {'obj': obj}) elif request.method == "POST"
: obj = FM(request.POST) r1 = obj.is_valid() if r1: models.UserInfo.objects.create(**obj.cleaned_data) else: return render(request, 'fm.html', {'obj': obj})

fm.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset=
"UTF-8"> <title>Title</title> </head> <body> <form action="/fm/" method="POST"> {% csrf_token %} <p>{{ obj.user }} {{ obj.errors.user.0 }}</p> <p>{{ obj.pwd }} {{ obj.errors.pwd.0 }}</p> <p>{{ obj.email }} {{ obj.errors.email.0 }}</p> <input type="submit" value="提交"/> </form> </body> </html>

執行後效果(這裡Chrome自己加了驗證功能,如果低階瀏覽器,就會顯示定製的錯誤資訊):