CyberExam-django/exam/form.py
2024-07-11 15:46:31 +08:00

130 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django.forms import Form, fields
from django.core.exceptions import ValidationError
class RegisterForm(Form):
username = fields.CharField(
required=True,
min_length=2,
max_length=20,
error_messages={
'required': '用户名不可以为空!',
'min_length': '用户名应大于2位',
'max_length': '用户名应小于20位',
},
)
nickname = fields.CharField(
required=True,
min_length=2,
max_length=20,
error_messages={
'required': '昵称不可以为空!',
'min_length': '昵称应大于2位',
'max_length': '昵称应小于20位',
},
)
password1 = fields.CharField(
required=True,
min_length=6,
max_length=20,
error_messages={
'required': '密码不可以位空!',
'min_length': '密码应大于6位',
'max_length': '密码应小于20位',
},
)
password2 = fields.CharField(
required=True,
error_messages={
'required': '请再次输入密码!',
},
)
email = fields.EmailField(
required=True,
error_messages={
'required': '请随便填个邮箱吧...',
},
)
def clean_password2(self):
if not self.errors.get("password1"):
if self.cleaned_data["password2"] != self.cleaned_data["password1"]:
raise ValidationError("您输入的密码不一致,请重新输入!")
return self.cleaned_data
class LoginForm(Form):
username = fields.CharField(
required=True,
error_messages={
'required': '请输入用户名',
},
)
password = fields.CharField(
required=True,
error_messages={
'required': '请输入密码',
},
)
class CreateForm(Form):
text = fields.CharField(
required=True,
max_length=300,
error_messages={
'required': '请输入题目',
'max_length': '不得超过300字'
}
)
image = fields.ImageField(required=False)
a = fields.CharField(
required=True,
max_length=300,
error_messages={
'required': '请输入选项',
'max_length': '不得超过300字'
}
)
b = fields.CharField(
required=True,
max_length=300,
error_messages={
'required': '请输入选项',
'max_length': '不得超过300字'
}
)
c = fields.CharField(
required=True,
max_length=300,
error_messages={
'required': '请输入选项',
'max_length': '不得超过300字'
}
)
d = fields.CharField(
required=True,
max_length=300,
error_messages={
'required': '请输入选项',
'max_length': '不得超过300字'
}
)
answer = fields.ChoiceField(choices=(('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D')))
class AnswerForm(Form):
questionID = fields.UUIDField()
answer = fields.ChoiceField(choices=(('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D')))