From 070025204dbe490216a2ceb64c017b69fcc16359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=94=A6=E5=BF=83?= <41134017+Lhcfl@users.noreply.github.com> Date: Tue, 20 Aug 2024 17:22:36 +0800 Subject: [PATCH] DEV: add addError method to FormKit onRegisterApi (#28436) This commit adds the addError method to From's onRegisterApi to allow parent components to add errors to a field. --- .../discourse/app/form-kit/components/fk/form.gjs | 1 + .../tests/integration/components/form-kit/form-test.gjs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/form.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/form.gjs index 9614e1f58a2..124e70eb173 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/form.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/form.gjs @@ -42,6 +42,7 @@ class FKForm extends Component { setProperties: this.setProperties, submit: this.onSubmit, reset: this.onReset, + addError: this.addError, }); this.router.on("routeWillChange", this.checkIsDirty); diff --git a/app/assets/javascripts/discourse/tests/integration/components/form-kit/form-test.gjs b/app/assets/javascripts/discourse/tests/integration/components/form-kit/form-test.gjs index 7a82f94aaff..52784b3e06e 100644 --- a/app/assets/javascripts/discourse/tests/integration/components/form-kit/form-test.gjs +++ b/app/assets/javascripts/discourse/tests/integration/components/form-kit/form-test.gjs @@ -137,6 +137,12 @@ module("Integration | Component | FormKit | Form", function (hooks) { await formApi.submit(); assert.dom(".bar").hasText("2"); + + formApi.addError("bar", { title: "Bar", message: "error_foo" }); + // assert on the next tick + setTimeout(() => { + assert.form().hasErrors({ bar: "error_foo" }); + }, 0); }); test("@data", async function (assert) {