diff --git a/package.json b/package.json index e1cb4e4..c1692f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tp/tp-checkbox", - "version": "1.0.4", + "version": "1.0.5", "description": "", "main": "tp-checkbox.js", "scripts": { diff --git a/tp-checkbox.js b/tp-checkbox.js index dc6c805..22b9ca2 100644 --- a/tp-checkbox.js +++ b/tp-checkbox.js @@ -72,6 +72,7 @@ class TpCheckbox extends Inert(ControlState(FormElement(LitElement))) { return { checked: { type: Boolean, reflect: true }, role: { type: String, reflect: true }, + invalid: { type: Boolean, reflect: true }, _value: { type: String }, }; } @@ -99,6 +100,16 @@ class TpCheckbox extends Inert(ControlState(FormElement(LitElement))) { } } + validate() { + if (this.required && !this.checked) { + this.invalid = true; + return false; + } + + this.invalid = false; + return true; + } + get value() { if (this._value !== '') { return this._value;