Actions

J2.5 talk

Developing a MVC Component/Adding verifications

From Joomla! Documentation

Revision as of 20:58, 12 January 2013 by Neo314 (Talk | contribs)

Why is the protected function _populateState() in the /admin/models/helloworld.php file? It doesn't appear in the original helloworld.php model file, and there isn't any indication as to the purpose of this function aside from the annotations within the function, which I don't fully understand.

Attention

Section about admin/views/helloworld/tmpl/edit.php is not the same as in file present in archive.

verification seems to operate even when required="false" is coded

I have expanded the helloworld component to have several other fields now, and set some of them to required="false" in the /models/forms/app.xml file. I still get "invalid field" when I leave the input box empty. Any ideas?

(later) I think I figured it out: the client-side script operates on every field it's assigned to, whereas the server-side may operate only on a field that's required and not empty. Not sure about that last, but I am sure that the client-side script operates, so you may want to code the regex differently in admin/models/forms/<com-name>.js (the client side) vs admin/models/rules/<field>.php .

"In theory, there's no difference between theory and practice; in practice, there is" --Yogi Berra 10:51, 30 September 2011 (CDT)

Minor misstatement

After editing admin/views/helloworld/view.html.php, where the tutorial reads:

This view now

  • verifies if the model has no error;
  • adds two javascript files;
  • injects javascript translation using the Joomla JText::script function.

I believe the statement "adds two javascript files;", is incorrect. One javascript file has been added (submitbutton.js), and the second javascript file is added in the next step in the getScript function, (helloworld.js).

Am I correct on this? If so, I can see where sometimes one might want to use both methods to add scripts, but it seems to only be for demonstration purposes here since it seems both scripts could be added by either method.