From 4c652a87c013cdd74185f707a878f7e3f815556b Mon Sep 17 00:00:00 2001 From: Guillaume Lajarige Date: Tue, 2 Jan 2018 16:18:18 +0000 Subject: [PATCH] =?UTF-8?q?N=C2=B01243=20Fix=20MUST=5FCHANGE/MANDATORY=20c?= =?UTF-8?q?hecks=20on=20transition=20in=20the=20console=20on=20an=20HTML?= =?UTF-8?q?=20Attribute.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SVN:trunk[5192] --- application/ui.htmleditorwidget.class.inc.php | 2 +- js/forms-json-utils.js | 26 ++++++++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/application/ui.htmleditorwidget.class.inc.php b/application/ui.htmleditorwidget.class.inc.php index 683e372db..8dfb804e4 100644 --- a/application/ui.htmleditorwidget.class.inc.php +++ b/application/ui.htmleditorwidget.class.inc.php @@ -97,7 +97,7 @@ class UIHTMLEditorWidget // The most relevant solution would be to implement a plugin to CKEdit, and handle the internal events like: setData, insertHtml, insertElement, loadSnapshot, key, afterUndo, afterRedo // Could also be bound to 'instanceReady.ckeditor' - $oPage->add_ready_script("$('#$iId').bind('validate', function(evt, sFormId) { return ValidateCKEditField('$iId', '', {$this->m_sMandatory}, sFormId, '') } );\n"); + $oPage->add_ready_script("$('#$iId').bind('validate', function(evt, sFormId) { return ValidateCKEditField('$iId', '', {$this->m_sMandatory}, sFormId, '', '$sValue') } );\n"); $oPage->add_ready_script( <<').html(originalValue) : undefined; + var sTextOriginalContents = (oFormattedOriginalContents !== null) ? oFormattedOriginalContents.text() : undefined; - if (bMandatory && (sTextContent == '')) + if (bMandatory && (sTextContent == nullValue)) { bValid = false; + sExplain = Dict.S('UI:ValueMustBeSet'); + } + else if ((sTextOriginalContents != undefined) && (sTextContent == sTextOriginalContents)) + { + bValid = false; + if (sTextOriginalContents == nullValue) + { + sExplain = Dict.S('UI:ValueMustBeSet'); + } + else + { + sExplain = Dict.S('UI:ValueMustBeChanged'); + } } else { @@ -288,9 +306,9 @@ function ValidateCKEditField(sFieldId, sPattern, bMandatory, sFormId, nullValue) } } - ReportFieldValidationStatus(sFieldId, sFormId, bValid, ''); + ReportFieldValidationStatus(sFieldId, sFormId, bValid, sExplain); - setTimeout(function(){ValidateCKEditField(sFieldId, sPattern, bMandatory, sFormId, nullValue);}, 500); + setTimeout(function(){ValidateCKEditField(sFieldId, sPattern, bMandatory, sFormId, nullValue, originalValue);}, 500); } /*