1

我通過使用下列選項formValidation用的DateTimePicker和格式(「LLLL」)

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

一切工作正常顯示時間的的DateTimePicker格式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/ 感謝 卡爾

回答

1

日期驗證類型不支持該類型的格式。您需要隨時使用回調驗證類型。但是,由於您已經有回調類型並需要返回不同的消息,因此您需要使用動態消息。

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並返回一個不同的消息。

0

如果todaysDate不是片刻,然後創建它:

todaysMomentDate = moment(todaysDate); 

然後對它們進行比較:

var diffDuration = moment.duration(m.diff(todaysMomentDate); 
return diffDuration.asMilliseconds() < 0; 
+0

嗨...對不起,我應該進一步減少這個例子。這不是沒有驗證的回調函數...這個函數工作正常。這是日期格式驗證失敗。因此我提到了標題爲 – carl

+0

的LLLL格式哦。我會在你的問題中包括你使用什麼框架來進行驗證,因爲有很多,我找不到你正在使用的那個。請注意,「LLLL」不是標準的JavaScript表示法。它可以像圖書館一樣實施,但是對於您正在使用的任何驗證庫而言,它可能並不相同。 – algorithmicMoose

+0

是的,這也是我的懷疑,但從文檔我無法弄清楚如何驗證這種特殊的格式...我使用formValidation http://formvalidation.io/ – carl