【问题标题】:Django form validation not workingDjango表单验证不起作用
【发布时间】:2013-06-21 09:15:32
【问题描述】:

forms.py

class SearchFilterForm(Form):
    fromdate = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'dd/mm/yy','class':'datefield','readonly':'readonly'}))
todate = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'dd/mm/yy','class':'datefield','readonly':'readonly'}))

Javascript:

function comparedate(){
        var fromdate = document.getElementById("id_fromdate").value;
        var todate = document.getElementById("id_todate").value;
        if(fromdate<todate){
            alert("Start date should be less than end date");
        return false;
    }
}

我在日期搜索功能中使用此验证。

我使用上面的代码来验证起始日期和截止日期。我的问题是,如果起始日期小于截止日期,它会显示错误消息。但是在显示消息后它会搜索并显示没有记录.

如果起始日期小于到日期,我不应该去搜索,它应该显示错误消息常量,但这会显示错误消息并进行搜索。

【问题讨论】:

  • 注意我已经从这个问题中删除了所有的 Django 标签,因为它似乎纯粹是一个 Javascript 的标签。
  • @DanielRoseman,整个问题都没有解决,你能告诉我这可能是什么问题吗?

标签: django django-models django-forms django-templates


【解决方案1】:

您是在比较 HTML 输入元素本身,而不是它们的内容。你可能想要:

if(fromdate.value < todate.value) 

【讨论】:

  • @Damiel,验证正在发生,但在显示错误消息后,搜索功能正在发生并且它没有显示任何记录,但如果用户更改日期并按预期应该显示错误消息并停止他们go 它应该检查验证并搜索并显示结果。
猜你喜欢
  • 1970-01-01
  • 2015-03-27
  • 2018-01-23
  • 2012-02-02
  • 1970-01-01
  • 2021-12-01
  • 2019-01-26
  • 2020-09-13
相关资源
最近更新 更多