Validation
Validation ensures iCalendar data works across all implementations.
Why Validate
- Interoperability — Different apps tolerate malformed data differently.
- Data integrity — Missing properties cause silent failures.
- Security — Malformed data has been used in exploits.
What to Validate
Structural: BEGIN/END pairing, property syntax, component nesting, line folding.
Semantic: Required properties (DTSTAMP, UID, DTSTART), date/time formats, TZID/VTIMEZONE consistency, RRULE syntax.
Common Errors
- Missing DTSTAMP
- Wrong line endings (need CRLF)
- Missing UID
- Unfolded long lines (fold at 75 octets)
- TZID without VTIMEZONE
- Incorrect special character escaping