Django自定义表单验证不起作用

2024-09-24 00:35:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图得到一些自定义表单验证工作的Django,但它目前不工作。你知道吗

class PostCodeForm (forms.Form):
    pcode = forms.CharField()

    def clean_pcode(self):
        permitted = {'a','b','c','d'}
        pcode = self.cleaned_data['pcode']
        if not str(permitted) in pcode:
            raise forms.ValidationError("Apologies, but surrey Spice does not currently deliver to you postcode.")
        return pcode

最终目标是不允许不在该元组中的任何内容,并且应该返回验证错误。非常感谢您的帮助。你知道吗


Tags: djangoselfformclean表单datadefnot
2条回答

你的比较倒过来了。你知道吗

您正在检查permitted in pcode,但希望改为pcode in permitted。你知道吗

你的问题不清楚,但我要试一试。你也在用字典来做翻译,为什么?列表更合适。你知道吗

如果pcode只是一个单独的值,那么您可以执行如下操作:

if pcode not in permitted:
    #stuff

如果pcode是一个列表,并且您想检查pcode中的值是否在允许范围内,那么您可以执行以下操作:

if not set(pcode).issubset(permitted):
   #stuff

相关问题 更多 >