Use for free text and formatted string values.
Default Signature
->default(string|null|Closure $default) Fluent API
->format(?StringFormat $format)->minLength(?int $minLength)->maxLength(?int $maxLength)->pattern(?string $pattern)
Key Behaviors
- Supports plain text and format-aware strings such as `EMAIL`, `URL`, `DATE`, `TIME`, `MARKDOWN`, and `HTML`.
- Regex patterns are exported to validation rules and JSON Schema when applicable.
Export Notes
- Maps to specialized Filament inputs for several formats.
- JSON Schema uses `type: string` and adds `format`, `minLength`, `maxLength`, or `pattern` when defined.
Example
use Epsicube\Schemas\Enums\StringFormat;use Epsicube\Schemas\Properties\StringProperty;
StringProperty::make() ->title('Webhook URL') ->format(StringFormat::URL) ->maxLength(255) ->optional();Notes
Not every StringFormat currently maps to a dedicated Laravel rule. EMAIL, URL, IPV4, IPV6, UUID, DATE, DATE_TIME, and TIME are handled directly today.