django-form表单验证

用表单验证数据

常用的Field:
使用Field可以是对数据验证的第一步。你期望这个提交上来的数据是什么类型,那么就使用什么类型的Field。

CharField:
用来接收文本。
参数:

max_length:这个字段值的最大长度。
min_length:这个字段值的最小长度。
required:这个字段是否是必须的。默认是必须的。
error_messages:在某个条件验证失败的时候,给出错误信息。
EmailField:
用来接收邮件,会自动验证邮件是否合法。
错误信息的key:required、invalid。

FloatField:
用来接收浮点类型,并且如果验证通过后,会将这个字段的值转换为浮点类型。
参数:

max_value:最大的值。
min_value:最小的值。
错误信息的key:required、invalid、max_value、min_value。

IntegerField:
用来接收整形,并且验证通过后,会将这个字段的值转换为整形。
参数:

max_value:最大的值。
min_value:最小的值。
错误信息的key:required、invalid、max_value、min_value。

URLField:
用来接收url格式的字符串。
错误信息的key:required、invalid。

代码

from django.shortcuts import HttpResponse
from django import forms
import json
from django.http import JsonResponse

class AjaxForm(forms.Form):
    #只定义一个username字段,一会通过get获取
    username = forms.CharField(
        required=True,
        min_length=3,
        max_length=5,
        error_messages={
            "required":"用户名不能为空",
            "min_length": "用户名不能少于3位数",
            "max_length":"不能超过5",
        }
    )


def ajaxForm(request):
    if request.method == "GET":
        ret = {"status": "NG", "msg": None}
        af = AjaxForm(request.GET)
        if af.is_valid():
            # 清洁的数据?
            print(af.cleaned_data,"1111111111111111111111111111111")
            ret["status"] = "OK"
            return HttpResponse(json.dumps(ret))
        else:
            print("NG")
            ret["msg"] = af.errors
            return HttpResponse(json.dumps(ret))

猜你喜欢

转载自blog.csdn.net/sunt2018/article/details/85326297
今日推荐