我使用以下选项以 LLLL 格式在日期时间选择器中显示时间
$('#meeting_datetime').datetimepicker({defaultDate: tomorrowsDate, stepping: 5, format: 'LLLL'});
一切都很好,但现在我想验证该字段,我认为它应该像这样工作
$('#manage_jc_settings_form')
.formValidation({
framework: 'bootstrap',
excluded: ':disabled',
ignore: [],
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
meeting_datetime: {
validators: {
notEmpty: {
message: 'The date is required'
},
date: {
format: 'LLLL',
message: 'The date is not valid'
},
callback: {
message: "The next meeting can't be in the past",
callback: function (value, validator) {
var m = new moment(value, 'LLLL', true);
return (m > todaysDate);
}
}
}
}
}
}
});
但是这样日期时间字段不会验证。有人知道如何在验证中使用 LLLL 格式吗?我正在使用 formValidation 插件 http://formvalidation.io/ 谢谢 卡尔
最佳答案
日期验证类型不支持该类型的格式设置。您需要将回调验证类型与 moment 一起使用。但是,由于您已经有了回调类型并且需要返回不同的消息,因此您需要使用动态消息。
http://formvalidation.io/validators/callback/#dynamic-message-example
function(value, validator, $field) {
// ... Do your logic checking
if (...) {
return {
valid: true, // or false
message: 'The error message'
}
}
return {
valid: false, // or true
message: 'Other error message'
}
}
然后检查日期的有效性并为此返回一条消息。并检查日期是否大于 TodaysDate 并为此返回不同的消息。
关于javascript - 使用 datetimepicker 和格式 ('LLLL' 的 formValidation ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38468042/