Sofortige Validierung
Magento verfügt über 2 Validierungsformen.
- Serverseitige Validierung (PHP)
- Clientseitige Validierung (Java Script)
Um eine sofortige Validierung in Magento zu erhalten, muss die valdation.js angepasst werden. Lediglich die Eigenschaft „imediate“, des JSON-Objects „Validation.defaultOptions“ muss auf true gesetzt werden.
Vorher:
…
var Validation = Class.create();
Validation.defaultOptions = {
onSubmit : true,
stopOnFirst : false,
immediate : false,
focusOnError : true,
useTitles : false,
addClassNameToContainer: false,
containerClassName: ‚.input-box‘,
onFormValidate : function(result, form) {},
onElementValidate : function(result, elm) {}
};
…
Nachher:
…
var Validation = Class.create();
Validation.defaultOptions = {
onSubmit : true,
stopOnFirst : false,
immediate : true,
focusOnError : true,
useTitles : false,
addClassNameToContainer: false,
containerClassName: ‚.input-box‘,
onFormValidate : function(result, form) {},
onElementValidate : function(result, elm) {}
};
…
Die hier aufgeführt Variante ist nicht die sauberste, da Core-Code editiert wird. Alternativ kann auf die Eigenschaft auch global zugegriffen werden. Hierzu fügt man eine weitere JS-File über die page.xml hinzu.
<action method=“addJs“><script>prototype/validation.js</script></action>
…
<action method=“addJs“><script>DIR/FILENAME.js</script></action>
Über die neu eingebundene Datei muss der Wert „true“ der Eigenschaft „immediate“ zugewiesen werden.
Validation.defaultOptions.immediate = true;
Um Zeit zu sparen, kann hier auch unser Magento Module „ImmediateValidation“ heruntergeladen werden.