我有一个字段为 facebook_link 的模型。
借助正则表达式,我想验证此链接是否真的是一个Facebook链接。
用户可以在表单中输入Facebook链接。
我应将我的验证放在form字段的clean方法中,
在model字段的clean方法中
或者我应该使用自定义的validator
答案 0 :(得分:1)
如果我正确阅读了文档,则认为您的问题的答案是以上都不是。根据{{3}},内置validators documentation可用于您使用正则表达式验证数据。这可能是您应该使用的(不要重新发明轮子)。
但是,从技术上讲,我认为验证器是放置这种逻辑的正确位置,正是因为它们可以在表单或模型上使用。光是可重用性就使它们值得。
答案 1 :(得分:1)
您应该使用 RegexValidator ,将其放置在 model字段定义中,并使用 ModelForm ,这样它将调用clean方法在您的模型字段中。