using magentos server-side validation - validation

I am using Magento version 1.7.0.2 and have created a custom module, in which there is a form that allows user to pass information in to the database.
I need to validate user input and looking around Google all i can see is front-end validation tutorials, I assume magento has server side validation tools? Based on this assumption I had a look in mage/core/customer/block/form/register.php and mage/core/customer/helper/data.php but have been unable to find anything of help, am i looking in the wrong place?
I am aware Zend has some validation, and will use that if Magento has not got it's own/extended zend validation.
In short, does Magento have it's own validation apart from the javascript validation tools?

Magento uses Zend for validation, you can take a look inside Mage/Customer/Model/Customer.php at the method validate()

Related

umlauts-domain in magento e-mail validation?

is there a way to allow umlauts-domains for e-mail addresses in Magento? when entering such domain at the moment, there's an validation error. where can i find those validation settings?
thanks in advance!
I guess you'll need to change at least the appropriate Prototype and Zend validators to achieve this.
Scan js/prototype/validation.js for the pattern 'validate-email' to find the client-side validation part.
To locate the server-side validation part search the pattern Zend_Validate_EmailAddress in the file app/code/core/Mage/Eav/Model/Attribute/Data/Abstract.php.

What do you think about oforms Orchard module?

I recently try oforms module on orchard and I confess that I was expecting more.
My form not validating on IE8.
No ServerSide validation
No complex validation using Regex
Impossible to fill in dropdownlist options from a DB or an xml file
Impossible to set up workflows except e-mails
did I miss something that could change my opinion and make me buy this product ??
it does what it says it does. So it looks like a good module. Would be nice to have server side validation.
It works for me in IE8.

Joomla CMS and Spring Framework

I want to create a Web application by combining Joomla CMS with Spring Framework. What would be the best way to build/use a single sign-on for both?. All the pages on the website will be serviced by Joomla CMS, but those that require authentication/authorization will be done with Spring Framework. The later will retrieve widgets from Joomla CMS to ensure the same User Interface.
I would appreciate any suggestion or pointer to information about this topic
Thanks
Peter
You can overload Joomla User plug-in, save/edit/delete/login/etc. This will hep you understand user event that you will need to implement, http://docs.joomla.org/Reference:User_Events_for_Plugin_System. Also look at the following file plugins/user/example.php
In my opinion, mixing 2 different languages PHP and Java in 1 project is a little extreme. I would keep the projects separate and created my own Joomla/Spring Field API. Then would make API call in Joomla components/modules/plug-ins to integrate with Spring Framework.
Another thing, do not modify Joomla's native code to achieve what you want (I mean don't rewrite base classes that Joomla uses). Instead create your own library in the /libraries/ directory and extend the classes. If you decide to adopt API, you might want to have some API object in your model. Create your own base model /libraries/your_lib/application/component/ then when you are creating a model in the component change the import code to jimport('your_lib.application.component.model')
IOPLEX sell a Java library (Jespa) to provide single signon using Windows NTLM credentials, they also have a Joomla plugin. Could be appropriate if you're authenticating against ActiveDirectory and have Windows clients.
i think using web service will give the chance to not touch the basic code of joomla because joomla give you hand to make an xmlrpc , and you have to keep in mind the session controle the best think is to let joomla manage session and creating a user plugin to make a specifique action in the login and logout event. hope will help.

Magento - where's the php file subscribe.phtml calls once the form is submitted

When you submit the newsletter subscription form (subscribe.phtml), the form actions aclls a php file. Does anyone know where it is located?
EDIT: And how can I send the form action to a custom php which does the mail sending bit? for example, I want the form handling to be done by a file called sendmail.php
i'm trying to have something like this - instead if the default action getUrl('newsletter/subscriber/new') ?>">
thanks
Magento is locked into an MVC framework, so replacing the framework code with an arbitrary PHP file is going to be difficult. If you give more details on what you would like to do differently than the core code, we can help you figure out what changes to make.
Thanks,
Joe
Shooting from the hip, take a look at this tutorial on how to create a controller. Generally, what you'll be doing here is to create an action that will receive your form post, then execute whatever code you need.
So you'll be defining http://mystore.com/somecontroller/something by creating MyModule_controllers_Somecontroller with a method called somethingAction. With some more detail, I can find you more specific examples.

How to create my own form in joomla

I want to create my own form that are submitted and values of that form will be stored in joomla database. How can i used the Joomla connection code to interacte with the joomla database.
If you just want to get your work done, there are some components already avaiable in Joomla Extension's website to your form's needs. CkForms is a good one, you can create simple forms with it that are automatically saved in the database (supports upload of files too).
If you want to learn how to write extensions in Joomla, you should read Joomla Official Documentation website.
Extensions in Joomla are divided in "Components", "Modules" and "Plugins". More informations about these differences can be found here and here.
What you're trying to achieve sounds a "component" to me. Downloading the CkForms and reading it's source code should get you started to Joomla's way of writing components.
EDIT: Joomla has a huge API with a lot of features. It has a database module of it's own, with insert methods and such. Reading Joomla's API website before implementing your component it's a good idea to avoid "reinventing the wheel" and it's a good practice since those methods are extensively tested by all Joomla users.
The JForm class helps you build forms.
Documentation can be found here:
joomla CMS: http://docs.joomla.org/API16:JForm
joomla API: http://api.joomla.org/11.4/Joomla-Platform/Form/JForm.html
This class provides you with ready to use form elements and form loading and/or processing methods
This class includes validation methods, date picker control, color picker, etc.
Of course, as another mentioned above, if you are building a module, component, or application, you will need to learn how to to develop a module, component or application. Of these three, the module is the easiest to implement.
The application gives you much freedom b/c you are not constrained to the CMS paradigm, front and back end complexities. However, there is little documentation about how to develop applications with Joomla framework b/c joomla as a framework is relatively new
This tutorial gets you started understanding how to use JForm to create a form in Joomla: http://www.ostraining.com/blog/how-tos/development/getting-started-with-jform/
Or you could just create add a html module to any position and then write the form in html i.e.
<form method="post" action="mycreatedpage.php"> <input type="text"/> <input type="submit">
Now just create a page that handles the code by emailing or inserting into db. I havent tried it but i think it should work.
Looks like everyone already told you almost everything I know except for the component creator. Very easy to use, and it follows Joomla standards. Will get you up and running within minutes.
I have got good working experience with Joomla RSForm Pro. It has got options for
validation
user email/admin emails on submit
file uploads
and many more
Good tutorials too. Get started with http://www.rsjoomla.com/support/documentation/view-knowledgebase/21-rsform-pro.html
Good luck!
Create View.
Create Model.
Create Table.
Create Controller ( if Needed ).
Create Form xml file.
Go here for more information:
http://docs.joomla.org/Standard_form_field_types
Take a look at the Chronoforms extension - does more than you want.
You have two options:
Use an already built custom form extension
Create your own custom form extension (or outsource it)
Now if you only want to modify the user registration form, then you can do some PHP customization to accomplish your goal.
Making forms in Joomla can be done in a couple of ways.
If you just wanted a contact us, you can just create a page with a menu item for the User contact form. This gives you a page with a Members address and contact form. So all you would need to do was add the user as the company of the websites home address and email. But the form is very basic, name, title, textarea for message.
Next up from that you could just make a Custom HTML module add add a form to it in plain HTML like +Sean said above this, you would need to code in PHP your own form process script. You would not get error in form data checking unless you also wrote it.
Next you might rather look on the Joomla Extension Directory JED for one of the good extensions for 3 and 2.5 Joomla RSForms!Pro is good, and can do all we have needed. This lets you add fields one by one and move your form around. Then can auto generate or custom the html of the form.
You can easily create your own forms with Fabrik
Chronoforms are now a days a very popular solution for custom forms in joomla. Chornoforms support twitter bootstrap also. In simple 5 steps you can create a contact form with unlimited fields and also embed various function like DB save, Email, Thanks Message, Redirection on any page. There is events and events will have particular events.
Also possibility of extension of Normal joomla registeration. It will not extend the core registration but at the time of registration you can take various information from users.
I would use Chrono Forms, they work really well and are easy to use.
Download here
Here is a full tutorial on the new Chronoforms 5 to help you get started quickly and understand most of the features available.
CLICK HERE
You can use plugin to insert external php form in content. It is easy and you don't need to make plugin etc. Please use this.
I suggest you to use breezingforms: http://crosstec.de/en/extensions/joomla-forms-download.html
It's one of the best solutions for custom form creation in joomla.

Resources