work in progress: form/field validation on dialogs
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@2417 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
4f4f71aee4
commit
10983e79bc
3 changed files with 26 additions and 2 deletions
|
@ -79,8 +79,7 @@ class ObjectForm(NodeView):
|
|||
|
||||
def closeAction(self, submit=False):
|
||||
if self.isInnerHtml:
|
||||
return ("closeDataWidget(%s); dialog.hide();" %
|
||||
(submit and 'true' or 'false'))
|
||||
return "return closeDialog(%s);" % (submit and 'true' or 'false')
|
||||
if submit:
|
||||
return "xhrSubmitPopup('dialog_form', '%s'); return false" % (self.request.URL)
|
||||
return 'window.close()'
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<metal:block define-macro="edit" i18n:domain="loops">
|
||||
<form method="post" enctype="multipart/form-data"
|
||||
id="dialog_form" class="dialog"
|
||||
dojoType="dijit.form.Form"
|
||||
tal:define="langInfo view/languageInfo;
|
||||
languages langInfo/availableLanguages;
|
||||
language langInfo/language;
|
||||
|
|
|
@ -143,6 +143,30 @@ function addConceptAssignment(prefix, suffix) {
|
|||
node.appendChild(tr);
|
||||
}
|
||||
|
||||
function validate() {
|
||||
var form = dijit.byId('dialog_form');
|
||||
if (form != undefined && !form.isValid()) {
|
||||
return false;
|
||||
}
|
||||
var titleField = dojo.byId('title');
|
||||
if (titleField != undefined && titleField.value == '') {
|
||||
return false;
|
||||
}
|
||||
if (form != undefined) {
|
||||
return form.submit();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function closeDialog(save) {
|
||||
if (save && !validate()) {
|
||||
return false;
|
||||
}
|
||||
closeDataWidget(save);
|
||||
dialog.hide();
|
||||
return true;
|
||||
}
|
||||
|
||||
function closeDataWidget(save) {
|
||||
var widget = dijit.byId('data');
|
||||
if (widget != undefined && save) {
|
||||
|
|
Loading…
Add table
Reference in a new issue