Sha256: 4ef66aabfb6e1ed4027e3f9a45653cd42eab5247b6f84f89ca30cfee8fd8a9b7

Contents?: true

Size: 1.5 KB

Versions: 46

Compression:

Stored size: 1.5 KB

Contents

"use strict";

exports.implementation = class ValidityStateImpl {
  constructor(globalObject, args, privateData) {
    const { element, state = {} } = privateData;

    this._element = element;
    this._state = state;
  }

  get badInput() {
    return this._failsConstraint("badInput");
  }

  // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#suffering-from-a-custom-error
  get customError() {
    return this._element._customValidityErrorMessage !== "";
  }

  get patternMismatch() {
    return this._failsConstraint("patternMismatch");
  }

  get rangeOverflow() {
    return this._failsConstraint("rangeOverflow");
  }

  get rangeUnderflow() {
    return this._failsConstraint("rangeUnderflow");
  }

  get stepMismatch() {
    return this._failsConstraint("stepMismatch");
  }

  get tooLong() {
    return this._failsConstraint("tooLong");
  }

  get tooShort() {
    return this._failsConstraint("tooShort");
  }

  get typeMismatch() {
    return this._failsConstraint("typeMismatch");
  }

  get valueMissing() {
    return this._failsConstraint("valueMissing");
  }

  _failsConstraint(method) {
    const validationMethod = this._state[method];
    if (validationMethod) {
      return validationMethod();
    }

    return false;
  }

  get valid() {
    return !(this.badInput || this.valueMissing || this.customError ||
            this.patternMismatch || this.rangeOverflow || this.rangeUnderflow ||
            this.stepMismatch || this.tooLong || this.tooShort || this.typeMismatch);
  }
};

Version data entries

46 entries across 46 versions & 2 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.22 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.21 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.20 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.19 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.18 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.17 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.16 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.15 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.14 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.13 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.12 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.11 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.10 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.9 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.8 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
clapton-0.0.7 lib/clapton/javascripts/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js