[英]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.