The pattern is to override component.linkAll().
- Call
linkAll of the base class to produce the relevant links.
- Add custom validation checks.
- If needed, compute the
validationError and add it to the cache object.
- return cache object.
It's damn cool pattern which deserves to be reflected in tutorials.