Add a parameter for submit() to skip the client-side widget validation

This commit is contained in:
Nathan Gray 2014-04-02 18:49:43 +00:00
parent 24b75f7f01
commit 734b5d02f2

View File

@ -473,21 +473,30 @@ etemplate2.prototype.isDirty = function()
* *
* @param {(et2_button|string)} button button widget or string with id * @param {(et2_button|string)} button button widget or string with id
* @param {boolean} async true: do an asynchronious submit, default is synchronious * @param {boolean} async true: do an asynchronious submit, default is synchronious
* @param {boolean} no_validation - Do not do individual widget validation, just submit their current values
* @return {boolean} true if submit was send, false if eg. validation stoped submit * @return {boolean} true if submit was send, false if eg. validation stoped submit
*/ */
etemplate2.prototype.submit = function(button, async) etemplate2.prototype.submit = function(button, async, no_validation)
{ {
if(typeof no_validation == 'undefined')
{
no_validation = false;
}
// Get the form values // Get the form values
var values = this.getValues(this.widgetContainer); var values = this.getValues(this.widgetContainer);
// Trigger the submit event // Trigger the submit event
var canSubmit = true; var canSubmit = true;
if(!no_validation)
{
this.widgetContainer.iterateOver(function(_widget) { this.widgetContainer.iterateOver(function(_widget) {
if (_widget.submit(values) === false) if (_widget.submit(values) === false)
{ {
canSubmit = false; canSubmit = false;
} }
}, this, et2_ISubmitListener); }, this, et2_ISubmitListener);
}
if (canSubmit) if (canSubmit)
{ {