✨ Highlights
📦 Advanced file upload validation
File fields now support accepted types, maximum file counts, per-file size limits, and cumulative size limits through the DSL and backend validation.
Form::define('documents')
->version('1')
->file('attachments')
->multiple()
->accept(['.pdf', 'image/*'])
->maxSize(5_000_000)
->maxFiles(3)
->maxTotalSize(10_000_000);🛡️ Optional ClamAV scanning
Managed and staged uploads can be scanned through a remote ClamAV REST service such as ajilaag/clamav-rest, with optional HTTPS Basic Authentication.
FORMFORGE_CLAMAV_ENABLED=true
FORMFORGE_CLAMAV_ENDPOINT=https://clamav.example.com/v2/scan
FORMFORGE_CLAMAV_USERNAME=clamav-client
FORMFORGE_CLAMAV_PASSWORD=secret
FORMFORGE_CLAMAV_TIMEOUT=30🚀 Features
- Uploads: add file limits and optional ClamAV REST antivirus scanning (
0e52645)
❤️ Contributors
Full Changelog: v2.0.0...v2.1.0