java - How to check errors before form submission via ajax in liferay -
i created form age field name , checking whether number or not.but form submitted showing ajax response , after showing error. don't want form submitted when there error in form field named 'age' .so how prevent that. code follows:-
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <%@ taglib uri="http://liferay.com/tld/theme" prefix="theme" %> <%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %> <theme:defineobjects/> <portlet:defineobjects /> <portlet:resourceurl var="resourceurl"/> <script type="text/javascript"> function callserveresource(){ aui().use('aui-io-request', function(a){ a.io.request('<%=resourceurl.tostring()%>', { method: 'post', form: { id: 'fm' }, on: { success: function() { alert(this.get('responsedata')); } } }); }); } aui().use( 'aui-form-validator', function(a) { new a.formvalidator( { boundingbox: '#fm', rules: { age: { number:true } } } ) } ); </script> <form name="fm" id="fm"> full name:<input type="text" name="fullname"/> <br/> age:<input type="text" name="age"/> <br/> <input type="button" value="submit form data" onclick="callserveresource()"> </form>
try this. before a.io.request execute code triggers form validation. in case of validation error, exit function or want. code present in core portlet.js
.
var form = a.one(formselector) var liferayform = liferay.form.get(form.attr('id')); if (liferayform) { var validator = liferayform.formvalidator; if (a.instanceof(validator, a.formvalidator)) { validator.validate(); haserrors = validator.haserrors(); if (haserrors) { validator.focusinvalidfield(); return; } } }
Comments
Post a Comment