带有日期时间选择器和格式('LLLL')的formValidation
formValidation with datetimepicker and format('LLLL')
我使用以下选项以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/谢谢carl
http://formvalidation.io/validators/callback/#dynamic-消息示例
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,并为此返回不同的消息。
如果todaysDate不是一个时刻,那么创建它:
todaysMomentDate = moment(todaysDate);
然后比较它们:
var diffDuration = moment.duration(m.diff(todaysMomentDate);
return diffDuration.asMilliseconds() < 0;
相关文章:
- 如果值为0,则Jquery formvalidation是必填字段
- 为什么在使用 formValidation.js 时需要指定字段的行属性
- formvalidation.io-如何跳过验证空字段
- formvalidation.io外部提交按钮
- Fuelux wizard and formvalidation.io - an ajax
- formValidation(旧的BootstrapValidator)破坏了我通过Ajax提交的表单,即使我更改代码以
- 使用formvalidation.io在成功时启动引导模式
- 如果选中复选框,则仅验证子输入字段formvalidation
- 带有Select2的FormValidation未捕获异常:未为Select2定义查询函数
- jQuery formValidation在按enter键时未提交表单
- jQuery验证:未捕获类型错误:$(..)formValidation不是一个函数
- 引导formvalidation.io远程验证器MySQL PHP
- 带有日期时间选择器和格式('LLLL')的formValidation