effex-monorepo
    Preparing search index...

    Interface FormState<Encoded, Decoded>

    Form-level state accessible via Form.form accessor.

    interface FormState<Encoded, Decoded> {
        errors: Readable.Readable<readonly ParseIssue[]>;
        getDecoded: () => Effect<Decoded, ParseError>;
        getEncoded: () => Effect<Encoded>;
        isDirty: Readable.Readable<boolean>;
        isSubmitting: Readable.Readable<boolean>;
        isTouched: Readable.Readable<boolean>;
        isValid: Readable.Readable<boolean>;
        reset: () => Effect<void>;
        submit: () => Effect<void>;
        validate: () => Effect<boolean>;
    }

    Type Parameters

    • Encoded
    • Decoded
    Index

    Properties

    errors: Readable.Readable<readonly ParseIssue[]>

    Form-level validation errors (from struct refinements)

    getDecoded: () => Effect<Decoded, ParseError>

    Get current decoded (validated) values, fails if invalid

    getEncoded: () => Effect<Encoded>

    Get current encoded (raw) values

    isDirty: Readable.Readable<boolean>

    Whether any field has changed from initial

    isSubmitting: Readable.Readable<boolean>

    Whether the form is currently submitting

    isTouched: Readable.Readable<boolean>

    Whether any field has been touched

    isValid: Readable.Readable<boolean>

    Whether all fields are valid

    reset: () => Effect<void>

    Reset all fields to initial values

    submit: () => Effect<void>

    Submit the form (calls onSubmit callbacks if valid)

    validate: () => Effect<boolean>

    Validate all fields and return whether valid