diff --git a/packages/effect-fc/src/Form.ts b/packages/effect-fc/src/Form.ts index 436e55c..b03c321 100644 --- a/packages/effect-fc/src/Form.ts +++ b/packages/effect-fc/src/Form.ts @@ -162,6 +162,19 @@ export const submit = ( Result.initial() as Result.Result, (_, result) => Effect.as(Ref.set(self.submitResultRef, result), result), ), + Effect.tap(result => Result.isFailure(result) + ? Option.match( + Chunk.findFirst( + Cause.failures(result.cause as Cause.Cause), + e => e._tag === "ParseError", + ), + { + onSome: e => Ref.set(self.errorRef, Option.some(e)), + onNone: () => Effect.void, + }, + ) + : Effect.void + ), ), self.canSubmitSubscribable.get,