Library / SDK
Meteor-Community-Packages/meteor-autoform avatar
Meteor-Community-Packages/meteor-autoform

AutoForm for Meteor: Schema-Driven Blaze Forms

AutoForm is a Meteor package that adds UI components and helpers to easily create basic forms with automatic insert and update events, and automatic reactive validation.

1,428 stars319 forksJavaScriptMIT

At a glance

What is it?
AutoForm adds schema-aware Blaze components, helpers, insert and update handling, and reactive validation to Meteor applications. It fits teams using SimpleSchema, but version 7 and later requires separate theme packages.
Who is it for?
Meteor teams already using Blaze and SimpleSchema should consider AutoForm when generated forms, field helpers, and reactive validation are central to an application. Projects that need a non-Blaze UI, want zero external schema dependencies, or cannot accommodate separate theme and add-on compatibility work should verify those boundaries first.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Activity is slowing. The repository last received commits 6 months ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

AutoForm's Place in a Meteor Application

AutoForm addresses a specific problem in Meteor: an application needs a form whose fields, validation rules, and database operation are related to a schema instead of being assembled as an unrelated set of HTML controls and event handlers. It is intended for Meteor applications using Blaze and the `aldeed:autoform` package. The package supplies UI components and helpers for basic forms, automatic insert and update events, and automatic reactive validation. Its component surface includes `autoForm`, `quickForm`, `afFieldInput`, `afFieldMessage`, `afFieldIsInvalid`, `afFormGroup`, `afQuickField`, and helpers for reading field values and names.

The intended user is a Meteor developer who already understands application data and wants form generation to follow a SimpleSchema definition. AutoForm is not a standalone validation library or a general form designer. Its model begins with schema configuration, then exposes that model through Blaze templates and helpers. Collection-backed forms can optionally work with `meteor-collection2`, but that package is not installed automatically. This makes AutoForm useful when schema-driven forms should fit closely into a Meteor collection architecture, while making it a weaker fit when the application deliberately keeps schema and UI independent.

Schema, Helpers, and Reactive Form Data

The repository layout exposes AutoForm as several cooperating JavaScript modules rather than one rendering component. `autoform-inputs.js`, the `inputTypes/` directory, and `components/` cover field rendering and templates. `autoform-validation.js` handles the validation side, while `autoform-formdata.js` represents form data. Additional modules cover arrays, events, hooks, preserving form state, form types, and static or dynamic imports. Together, these files point to a data path that begins with schema metadata, passes through form state and helpers, and ends with rendering plus insert, update, or method behavior.

AutoForm recognizes several form types. The documented types include `insert`, `update`, `update-pushArray`, `method`, `method-update`, `normal`, `disabled`, and `readonly`. This matters because a component is not merely a visual generator. Its form type determines how submission is handled and whether editing is active. Collection schemas can also carry the `autoform` option, including field attributes, after the application extends SimpleSchema to allow that option.

The form document is also exposed as an API. The README lists helpers for obtaining current field values and callbacks named `formToDoc`, `formToModifier`, and `docToForm`. Those conversion points are useful when a form needs to cross a boundary between displayed values and a document submitted to a method or written to a collection. The README also documents manual validation, reset behavior, sticky validation errors, field grouping, complex schemas, date input types, and custom templates. Those features make the abstraction configurable, but they also show that adopting AutoForm involves understanding several layers rather than placing one component in a template.

Installing AutoForm and SimpleSchema in Meteor

Start inside an existing Meteor app directory. The README identifies `aldeed:autoform` as the Meteor package to add:

bash
$ meteor add aldeed:autoform

AutoForm 6 and later requires the `simpl-schema` NPM package separately:

bash
$ npm i --save simpl-schema

The project also requires the application to extend SimpleSchema when it intends to use the `autoform` schema option. The README begins that configuration with an ES import, but the available repository documentation is truncated before the complete snippet, so this article does not invent the remaining lines. Use the project documentation at that point to confirm the required `SimpleSchema.extend` configuration.

The installation has an important version boundary. AutoForm 7 decoupled the package from default themes, so themes must be installed manually. The repository lists recent releases 7.1.0 in March 2024 and 8.0.0 in January 2025. Add-on package authors are instructed to update `api.use` to `aldeed:[email protected]` for the major-version transition. The README also warns against attempting to support both major versions with a range such as `api.use('aldeed:[email protected] || 7.0.0')`, because a known Meteor dependency-resolution issue can exhaust memory.

Selecting a First Blaze Form

A first use begins by selecting one form type rather than enabling every documented feature at once. For a new document, use the `insert` type. For editing an existing document, use `update`. If the application submits through a Meteor method rather than direct collection handling, the documented method form types are the relevant starting point. This narrow choice makes the intended operation visible in the template and gives the application a clear point at which to check validation and submitted document construction.

The README has dedicated examples for basic insert forms, basic update forms, and custom insert forms. The complete example bodies are not present in the available documentation, so they cannot be reproduced safely. The documented component reference does identify the likely first-use building blocks: `autoForm` or `quickForm` for a form, `afFieldInput` for a specific field, `afFormGroup` for grouping, `afFieldMessage` for validation feedback, and `afFieldIsInvalid` for invalid-state rendering.

Before writing the template, decide whether the form is collection-backed or method-backed. If it is collection-backed, install and configure `meteor-collection2` separately. Next, define or identify the SimpleSchema and extend it for `autoform`. Then choose a manually installed theme compatible with the selected AutoForm major version. This sequence avoids confusing a missing theme or unextended schema with a problem in the form component itself.

Theme and Add-On Compatibility Boundaries

The major limitation visible in the documentation is ecosystem coordination. AutoForm no longer supplies the default theme implicitly in version 7, so a working form needs a separately selected theme. That separation allows themes to evolve independently, but it also transfers installation and version selection to the application maintainer. The repository topics reference Blaze and themes, while the README's component model remains tied to Blaze-oriented packages.

Add-ons can impose another compatibility boundary. The README says that add-on packages not updated for AutoForm 7 prevent an application from updating, and it directs add-on authors to change their `api.use` declaration and release a major version. The recommendation against a two-major-version expression matters for Meteor dependency resolution. Although the stated problem is excessive dependency paths and memory exhaustion during resolution, the documented practical consequence is narrower upgrade choices.

AutoForm is therefore the wrong tool when the application has outgrown Blaze, needs a React-only rendering path, or wants to avoid coupling field rendering to a schema package. It is also unsuitable as a drop-in solution for teams that expect themes to arrive automatically or that cannot audit compatibility among AutoForm, `simpl-schema`, `meteor-collection2`, themes, and add-ons. A custom application with a small number of unusual controls may find ordinary Blaze forms easier to reason about. AutoForm earns its place when schema metadata can drive repeated field rendering and validation behavior.

Maintenance, Releases, and MIT Usage

The repository is not archived. Its last push was on 2026-04-02, which provides a more concrete maintenance signal than the README's older project-status badge. The release history includes AutoForm 8.0.0 on 2025-01-04, 7.1.0 on 2024-03-19, and 7.0.0 on 2020-11-25. This history shows that major-version work is not purely routine, particularly because AutoForm 7 changed theme installation and required corresponding work in add-on packages.

The expected upgrade cost depends on the surrounding Meteor dependency graph. An application already using AutoForm 8, a compatible theme, current SimpleSchema setup, and updated add-ons has a narrower path than one upgrading from an older major release. Add-on maintainers face additional code and release work. Applications should therefore inspect package compatibility rather than treating an AutoForm release number as a standalone upgrade decision.

The project is distributed under the MIT License. That identifies the license granted by the project, but this review does not provide legal advice about how a particular application or distribution should comply with it. Operationally, the license does not remove the engineering cost of dependency resolution, theme selection, schema extension, and add-on compatibility.

Validation Behavior and Documented Failure Cases

AutoForm's automatic reactive validation is useful because field feedback is connected to form state rather than left entirely to a submit-time handler. The package provides field-level messages and invalid-state helpers, as well as APIs for manual validation and resetting validation. Sticky errors can preserve validation feedback when that is the desired form behavior. For complex schemas, arrays, and custom controls, this reactive model reduces repeated UI logic, but it also means developers must understand how the schema represents the value being rendered.

The clearest documented failure cases are dependency related. Installing AutoForm 7 or later without manually installing a theme leaves a required part of the presentation stack absent. Updating add-ons that still target AutoForm 6 blocks the upgrade. Trying to support several AutoForm major versions in one `api.use` expression can make Meteor dependency resolution run out of memory. These are not edge cases invented from generic upgrade advice; each is stated in the project's AutoForm 7 note.

The documentation also establishes boundaries for non-collection forms through method form types and a contact-form example. Collection2 remains optional, so AutoForm should not be understood as requiring every form to write directly to a Mongo collection. Still, its strongest documented model is schema-oriented data conversion and validation. If form values are irregular, manually assembled, or unrelated to a schema, the package's central abstraction provides less value and introduces more configuration than a purpose-built handler would require.

Editorial conclusion

Meteor teams already using Blaze and SimpleSchema should consider AutoForm when generated forms, field helpers, and reactive validation are central to an application. Projects that need a non-Blaze UI, want zero external schema dependencies, or cannot accommodate separate theme and add-on compatibility work should verify those boundaries first. The first adoption check is a minimal insert form using the intended schema, SimpleSchema configuration, AutoForm version, theme package, and add-ons in the same Meteor dependency graph.

Frequently asked questions

What additional package does AutoForm 6 and later require?

AutoForm 6 and later require the `simpl-schema` NPM package to be installed separately. Earlier versions instead required and automatically installed the `meteor-simple-schema` Meteor package.

Why must themes be installed manually with AutoForm 7?

AutoForm 7 decoupled the package from its default themes. Applications using that release must choose and install a theme separately.

Does AutoForm require meteor-collection2?

No. `meteor-collection2` is optional, but the application must add it itself when it is needed.

Which form types does AutoForm support?

The documented form types are `insert`, `update`, `update-pushArray`, `method`, `method-update`, `normal`, `disabled`, and `readonly`.

Official sources

  1. Issues
  2. License: MIT
  3. Meteor-Community-Packages/meteor-autoform on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/meteor-community-packages-meteor-autoform.svg)](https://hysenlabs.com/projects/meteor-community-packages-meteor-autoform)

Was this useful?