Sha256: ccf63bb5d28654da6741ec5a976bcb0446f198a2d98a5a4ce7b8ed26bc9666bd

Contents?: true

Size: 837 Bytes

Versions: 11

Compression:

Stored size: 837 Bytes

Contents

(function(ko, $, moment) {
  "use strict";

  ko.extenders.validDate = function(target, options) {
      ko.utils.validatorBase(target);

      var defaults = {
        message: ""
      };

      options = $.extend({}, defaults, options);
   
      target.validate = function validate(newValue) {
        var validatableValue  = typeof newValue === 'undefined' ? target() : newValue,
            m                 = moment(validatableValue, ["DD MM", "DD MM YY", "DD MM YYYY"]);

        if ( m === null || !m.isValid() || m.isBefore(moment().startOf('day')) ) {
          target.markInvalid(options.message);
          return false;
        }

        target.markValid();
        return true;
      };
   
      target.subscribe(target.validate);
   
      //return the original observable
      return target;
  };

})(ko, $, moment);

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
kea-rails-1.0.9 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.8 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-2.0.0.pre.alpha1 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.7 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.6 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.5 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.4 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.3 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.2 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.1 app/assets/javascripts/kea/extenders/valid_date.js
kea-rails-1.0.0 app/assets/javascripts/kea/extenders/valid_date.js