| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| LessHeadCMS-v0.3.0.zip | 2026-10-31 | 1.2 MB | |
| README.md | 2026-10-31 | 2.6 kB | |
| Validate everything_ field rules, patterns and multilingual messages source code.tar.gz | 2026-10-31 | 1.1 MB | |
| Validate everything_ field rules, patterns and multilingual messages source code.zip | 2026-10-31 | 1.2 MB | |
| Totals: 4 Items | 3.4 MB | 1 | |
What's new
Richer validation
Define validation rules per field directly in the PlantUML diagram, e.g.:
- teaser: string {maxLength: 140}
- code: string {minLength: 3} {maxLength: 12}
- zip: string {pattern: plz}
- servings: int {min: 1, max: 20}
-
publishedAt: date {min: 2020-01-01}
-
Length limits (
minLength/maxLength) for string, text and richtext. Lengths are counted in Unicode characters; for richtext only the visible text counts. - Value ranges (
min/max) for int, decimal and date. - Pattern library in the admin area (Settings → Patterns): reusable regular expressions with an editor-facing error message and an example value. Built-in patterns:
email,url,slug,plz. - Enforced server-side for every write path: POST, PUT, the new PATCH route, the editing form, version restore and the test data generator.
- ReDoS protection: expensive expressions are rejected on save, and in-browser checks run in a Web Worker with a time limit.
- Tightened rules never modify existing data. Schema analysis reports how many records would be affected, and a new Rule violations view lists them with direct links for manual cleanup.
- Character counter and inline errors in the editing form.
Languages and translations
- All server messages are now in English and carry a
codeandparams, so API clients can translate them. The editing interface translates via these codes, so German users see the same texts as before. - One consistent fallback chain for UI texts and server messages: display language → default language → English.
- English works out of the box: shipped language files (currently
en.csv) take effect without an import. - Custom language files: set
CUSTOM_TRANSLATIONS_DIRinconfig.phpto use your own translation files. That folder is not touched by updates. - Fixed UI texts can now be translated or overridden for the default language too, e.g. for a fully French installation.
Bug fixes
- After login, a route selected quickly (sidebar click or typed URL) was overwritten by the start page redirect.
- The rich text editor could steal focus while UI texts were still loading, so typed input ended up in the wrong field.
⚠️ Breaking change for API clients
Error messages in message, errors and violations are now English. If your client displays them, switch to code / error_codes and params. See REST API docs.
Upgrading
No schema migration needed. New system tables are created automatically on first access.