表单清理方法与模型清理方法与模型字段验证器

时间:2018-11-12 13:45:18

标签: python django

我有一个字段为 facebook_link 的模型。

借助正则表达式,我想验证此链接是否真的是一个Facebook链接。

用户可以在表单中输入Facebook链接。

我应将我的验证放在form字段的clean方法中,

model字段的clean方法中

或者我应该使用自定义的validator

2 个答案:

答案 0 :(得分:1)

如果我正确阅读了文档,则认为您的问题的答案是以上都不是。根据{{​​3}},内置validators documentation可用于您使用正则表达式验证数据。这可能是您应该使用的(不要重新发明轮子)。

但是,从技术上讲,我认为验证器是放置这种逻辑的正确位置,正是因为它们可以在表单或模型上使用。光是可重用性就使它们值得。

答案 1 :(得分:1)

您应该使用 RegexValidator ,将其放置在 model字段定义中,并使用 ModelForm ,这样它将调用clean方法在您的模型字段中。