← Recipe: validate a form and confirm in a modal

2. Replace luastra.json

luastra/ui · luastra/data · controlled input · about 20 minutes
luastra/data + luastra/ui

Form validation and modal state are synchronous application logic, so this recipe needs only ui.render.

When to use it

Replace the generated manifest before importing Data or composing the form primitives.

Focused example

{
  "schemaVersion": 2,
  "project": { "id": "dev.luastra.form-modal-recipe", "entry": "app/main" },
  "sdk": { "contract": 1 },
  "capabilities": ["ui.render"],
  "modules": [
    {
      "id": "app/main",
      "source": "src/main.luau",
      "dependencies": ["luastra/app", "luastra/data", "luastra/ui"]
    },
    {
      "id": "app/tests/form-modal",
      "source": "tests/smoke.luau",
      "dependencies": ["app/main"]
    }
  ],
  "tests": ["app/tests/form-modal"]
}

Complete inventory

View all pages in Recipe: validate a form and confirm in a modal
← Previous: 1. Create the projectNext: 3. Replace src/main.luau →