This non-informative error happens mainly because of a misspelling (check that your class names are spelled correctly) or you forgot to include something in your manifest or view.
For me, it was the latter—an ommission of this field in my edit.php:
<input type="hidden" value="com_mycomponent" name="option" />
Yep, that one line of code prevented me from being able to save an item in my component.
Other things to try if you're getting the Invalid Controller error:
- Check your spelling! This one usually trips me up. Since Joomla relies heavily on naming conventions, it's imperative that you spell-check, spell-check, spell-check.
- Check that you've included your controller.php in your main component XML file. Also, if you have multiple controllers, make sure you declare the directory in a <folders> node.
- If you're getting this error with one of Joomla's core components, you may have a bad copy. Grab a new copy of the administrator folder for your version, and drop its contents into your site's administrator folder..