carl carl - 1 year ago 50
jQuery Question

formValidation with datetimepicker and format('LLLL')

I am displaying the time in the datetimepicker in the format LLLL by using the following options

$('#meeting_datetime').datetimepicker({defaultDate: tomorrowsDate, stepping: 5, format: 'LLLL'});

all that works fine, but now I would like to validate that field and I thought it should just work as

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);

but this way the datetime field does not validate. Does anybody know how to use the LLLL format in the validation? I am using the formValidation plugin

Answer Source

The date validation type does not support that type of formatting. You need to use the callback validation type with moment. However, since you already have a callback type and need to return a different message, you need to use the Dynamic message.

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'

Then do a check for the validity of the date and return one message for that. And check the date is greater than the todaysDate and return a different message for that.