Field definitions and validation
All twenty field types; bounded options, defaults, scale, editability, sensitivity, consent and matching fields.
Edit real field definitions, submit nested values, redisplay errors and inspect CSV/PDF output from installed package adapters.
Choose a scenario. Change the inputs or build a sequence of commands.
Execute the installed package against a new fictional example.
Follow the result, actual calls, generated output and integration code.
Your server-side changes are temporary. External-service examples use local response fixtures. Start with sample data.
Start with a preset, or change the input and run it.
Your result will show the values, decisions and generated output from the actual package.
Calls used by this scenario. The handbook explains setup, authorizers, storage and error recovery.
The complete response is shown as data. Wide PHP integers are transported as exact decimal strings. Values are never evaluated as PHP or JavaScript.
Run an example to inspect its response.
The last two successful run states stay in this tab’s memory. Run a changed example to compare the actual package results.
All twenty field types; bounded options, defaults, scale, editability, sensitivity, consent and matching fields.
Iteration, count, only/group/map, normalized nested output, error redisplay, CSV/PDF and real English/Spanish/French host translation overrides.
Up to 12 fields, 20 choice options, 8 JSON nesting levels, 20 CSV rows, and PDF reports within 6000 display characters / 40 line breaks.
Use fixture:text or fixture:pdf in values. The server creates a tiny temporary UploadedFile and validates it; no upload is stored.
Production file storage/ownership and a Filament 5 installation remain host responsibilities. This workshop does not install Filament.
Add typed fields, configure bounded options and defaults, then submit the actual packaged form. Inspect normalization, validation redisplay, translated prompts, CSV exchange and optional PDF output.
Rows support all meaningful package types, including nested paths, exact decimals, choices, JSON, file, hidden and display. Type-specific settings appear when relevant. Omitted options use package defaults; a stored incompatible default remains visible until you reset it. This host admits curated rules, not arbitrary PHP, database lookups or Laravel rule strings.
The preview is the real package form. Missing optional values, blank values and false checkboxes remain distinguishable; read-only, disabled and display fields do not become editable validated output. Password and sensitive values are redacted from returned state and artifacts. Selection, group filtering and display-only mapping call real Schema methods.
The file selector offers tiny named text and PDF fixtures. The server creates real temporary UploadedFile objects and applies MIME and size validation. No local path, remote file or visitor upload is accepted here, and the package does not store a file just because it validates.
CSV uses editable exportable fields and omits sensitive/read-only/file values. Formula protection can prevent a lossless reimport. PDF uses the installed optional DocSign adapter with a host display-size budget. Spanish/French prompts and errors come from host translations through Laravel; your field labels and option text remain your own.
Clear the existing schema rows, then add a required email field and a nested text field named contact.name. Set values in Full example input, run, then edit the rendered form and submit it. Expected: valid data normalizes under contact; an invalid email redisplays the submitted value with an associated package validation message. Schema-configuration errors identify the affected builder row.
Start with the default fields: set budget to "1.123" and decision to an option key absent from its choices. Expected: scale and membership errors name those fields. Then run Defaults and read-only fields and JSON, multiselect and false: inspect defaults, omitted noneditable fields and false remaining false. Quote integers beyond JavaScript’s safe range in JSON, such as "9007199254740993".
Run Validate a real fixture upload and choose its text fixture instead. Expected: the actual PDF MIME rule rejects the text file. Restore PDF: the result reports filename, MIME and byte size with stored=false. Selecting a fixture never chooses a server path or writes a permanent attachment.
Run Spanish prompts and validation, then French prompts and report. Expected: actual package prompts/errors and default report title change language. Edit a label yourself to see that it is schema content rather than automatically translated text. Download the generated PDF and inspect its escaped display data.
Run CSV import and round trip, edit its bounded rows and download the actual export. Expected: each row is validated and reimport status is explicit. Run Nested secrets stay private to compare a nested sensitive field: its value is absent from state and artifacts. Try group_filter, selection or display_only and inspect the executed Schema calls and retained field count.
Fields works independently in Laravel and Blade. Its optional Filament, CSV, PDF and DocSign adapters are documented in the handbook. The connected Workflow lab uses FieldsActionValidator for action data; it still supplies application authorization and workflow policy separately.