Django表单验证:以JSON格式获取错误

时间:2014-05-18 01:53:30

标签: python json django validation

我有这个非常简单的Django表单

from django import forms

class RegistrationForm(forms.Form):
    Username = forms.CharField()
    Password = forms.CharField()

我手动管理,不使用模板引擎。相反,我使用ajax POST发送数据并期望收到返回验证错误。当我使用其他框架时,我曾经在键值对中接收JSON格式的验证错误(键是带有错误的字段的名称,值是错误消息)。

{
  Username: "This field is required.",
  Password: "This field is required.",
}

我正在尝试在Django中实现相同的结果,但我不明白如何访问原始错误消息(相对于单个字段)并将其本地化。

form.errors可以访问HTML代码(如下所述:displaying django form validation errors for ModelForms)。我不需要那个。我更喜欢像form.Username.validationError这样的东西:这样的东西存在吗?

如果是,另外我还想知道验证错误消息是否自动转换为用户语言,如果没有,则是最好的方法。

2 个答案:

答案 0 :(得分:5)

Django 1.7允许您发送forms errors as Json。您只需要使用以下格式form.errors.as_json()中的错误。

我必须说,这是对图书馆的一个很好的补充。

答案 1 :(得分:3)

func launchLandscapeScreen() -> Void{

    let viewController = UIViewController()
    self.presentViewController(viewController, animated: false, completion: nil)
    self.dismissViewControllerAnimated(false, completion: nil)
}