簡體   English   中英

parsley.js-日期字段的自定義驗證

[英]parsley.js - custom validation for date field

我一直在閱讀parsley.js文檔 ,並嘗試編寫一個自定義驗證程序來驗證日期是否大於今天的日期。

我已經寫了條件代碼,但是對於如何應用條件錯誤消息我完全感到困惑。

我已經用歐芹maxlength驗證器完成了任務,但是意識到這還不夠完美。

如何使用歐芹編寫自定義驗證?

這是我的js / jq代碼,它使用maxlength動態添加和刪除驗證:

if(formattedStartDate > todaysDate) {

    $('#id_voluntary_start_date').attr('data-parsley-maxlength', '1');
    $('#id_voluntary_start_date').attr('data-parsley-maxlength-message', '{% trans "Commencement Date must not be greater than today." %}');
    $('#id_voluntary_start_date').parsley();
} else {
    $('#id_voluntary_start_date').attr('data-parsley-maxlength', '50');
}

實施自定義驗證的任何幫助將不勝感激。

首先,設置一個隱藏的文本框,並將今天的日期存儲在其中,然后在要檢查的日期字段上寫下以下代碼。

data-parsley-dlte = "#hiddentextboxid",
data-parsley-dlte_message = "Your custom message"

不要忘記在您擁有dom元素的表單上設置香菜。

如果這樣不起作用,請檢查parsley js的版本。

希望這會有所幫助。

您所需要做的就是在全局范圍內(在window.ParsleyConfig中)或為您的特定表單注冊自定義驗證器,如下所示:

  myForm.parsley({
    validators: {
        custom: function (value) {
            var now = new Date();
            var date = new Date(value);
            return date < now;
        }
    },
    messages: {
        custom: 'Commencement Date must not be greater than today'
    }
});

這是帶有示例的jsFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM