javascript - 使用 datetimepicker 和格式 ('LLLL' 的 formValidation )

标签 javascript jquery twitter-bootstrap twitter-bootstrap-3 formvalidation-plugin

我使用以下选项以 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/

相关文章:

javascript - 从标签中获取值并将其添加到 jQuery 中

javascript - 如何设置事件标签

javascript - Heroku 上的 Socket.io

javascript - 从 upsert (insertOrUpdate) Sequelize Node.js 获取插入行的 id

javascript - 检查是否在特定时间间隔内加载了多个图像;如果不是则替换为其他网址

javascript - HTML多个事件触发同一个功能

javascript - bootstrap Accordion 菜单打开和关闭问题

javascript - 复选框颜色变为灰色

javascript - 如何选择数组中的最后一个东西?

javascript - 如何使用 mongoose 更新 MongoDB 中的数组?