首页 > 解决方案 > 如何通过获取整数字段的准确值来验证表单

问题描述

我是 Django 的新手,我正在尝试验证表单以获取特定值,如果值不是确切的验证错误。例如,我在模型中有一个字段(cot_code),该字段有一个整数值(12345)。我为此字段创建了一个表单,我希望如果用户在表单中输入 12345,该表单将作为成功“代码正确”有效,但是当用户输入错误代码(55777)时,表单将引发验证器错误“错误代码”。我不知道如何继续意见。

模型:

class CotCode(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    cot_code = models.IntegerField(default='0', blank=True) # I have set this field as 12345 in model.
    date = models.DateTimeField(auto_now_add=True) 

    class Meta:
        verbose_name = 'CotCode'
        verbose_name_plural = 'CotCode'
        ordering = ['-date']

    def __str__(self):
        return self.user.username

形式:

class CotCodeForm(forms.ModelForm):
    class Meta:
        model = CotCode
        fields = ('cot_code',)

意见:

@login_required
def TransferCOTView(request):
    #Don't know how to go on here
    return render(request, 'transfer_cotcode.html')

模板:

<form method="POST" action="" class="text-center needs-validation" novalidate>
        {% csrf_token %}
      <div class="input-group mb-3">
        <div class="input-group-prepend">
          <span class="input-group-text" id="inputGroup-sizing-default">C.O.T</span>
        </div>
        <input type="text" class="form-control" aria-label="Sizing example input" aria-describedby="inputGroup-sizing-default" placeholder="Enter your COT Code" required>
        <div class="invalid-feedback">
           Please enter your C.O.T code.
        </div>
      </div>

       <input type="submit" class="btn btn-primary btn-block btn-sm wave-effect my-2" value="{% trans 'Enter' %}"  style="box-shadow:none;font-weight:500;"/>

    </form>

标签: pythondjango

解决方案


推荐阅读