我在理解 Django 表单和验证时遇到了一些麻烦。
#views.py:
def create(request):
if request.method == 'POST':
form = CreateDocumentForm(request.POST)
if form.is_valid():
doc = Document.objects.create(name=form.cleaned_data['name'])
#snip
#forms.py:
class CreateDocumentForm(forms.ModelForm):
name = forms.CharField()
def clean_name(self):
cleaned_name = self.cleaned_data['name']
rgx = re.compile('^(\w|-|\.)+$')
if rgx.match(cleaned_name) == None:
raise ValidationError("invalidchars")
return cleaned_name
逻辑工作正常,但我不知道如何判断引发了哪种 VaidationError。另外 - 这是由 Ajax 请求处理的,所以我不会在响应中使用模板。我需要获取此视图中失败的状态。
谢谢