diff --git a/include/simpleplugin/attributes/class_FileAttribute.inc b/include/simpleplugin/attributes/class_FileAttribute.inc index 2ad49b65e6dbe934fd9954d67ee6b5159419653b..388112074afd0c382f494196c1d88946d08c9e3d 100644 --- a/include/simpleplugin/attributes/class_FileAttribute.inc +++ b/include/simpleplugin/attributes/class_FileAttribute.inc @@ -169,7 +169,7 @@ class FileDownloadAttribute extends FileAttribute $display = ''; if ($this->upload) { $display .= $this->renderInputField('file', $id); - $display .= $this->renderInputField('submit', 'upload'.$id, array('value' => _('Upload'))); + $display .= $this->renderInputField('submit', 'upload'.$id, array('value' => _('Upload'), 'formnovalidate' => 'formnovalidate')); } $display .= $this->renderInputField( 'image', 'download'.$id, diff --git a/include/simpleplugin/attributes/class_IntAttribute.inc b/include/simpleplugin/attributes/class_IntAttribute.inc index 476f16607ac17a4ff894f8cb12c7cf89a62d3cc1..7ca5e42159b7a4d108befbededdd251e0b985cfe 100644 --- a/include/simpleplugin/attributes/class_IntAttribute.inc +++ b/include/simpleplugin/attributes/class_IntAttribute.inc @@ -108,6 +108,9 @@ class IntAttribute extends Attribute $js = $this->managedAttributesJS(); $attributes['onChange'] = 'javascript:'.htmlentities($js, ENT_COMPAT, 'UTF-8'); } + if ($this->isRequired()) { + $attributes['required'] = 'required'; + } $display = $this->renderInputField('number', $id, $attributes); return $this->renderAcl($display); } diff --git a/include/simpleplugin/attributes/class_SetAttribute.inc b/include/simpleplugin/attributes/class_SetAttribute.inc index ddd05f6f86b44d0d6433b9eadacc230ab7342f76..90d16938dd25347c0bd149aded872676067918cd 100644 --- a/include/simpleplugin/attributes/class_SetAttribute.inc +++ b/include/simpleplugin/attributes/class_SetAttribute.inc @@ -43,7 +43,7 @@ class SetAttribute extends Attribute $values ); $this->attribute = $attribute; - $this->attribute->setRequired(TRUE); + $this->attribute->setRequired(FALSE); $this->valueUnicity = $valueUnicity; } @@ -278,8 +278,8 @@ class SetAttribute extends Attribute function renderButtons () { $id = $this->getHtmlId(); - $buttons = $this->renderInputField('submit', 'add'.$id, array('value' => '{msgPool type=addButton}')); - $buttons .= $this->renderInputField('submit', 'del'.$id, array('value' => '{msgPool type=delButton}')); + $buttons = $this->renderInputField('submit', 'add'.$id, array('value' => '{msgPool type=addButton}', 'formnovalidate' => 'formnovalidate')); + $buttons .= $this->renderInputField('submit', 'del'.$id, array('value' => '{msgPool type=delButton}', 'formnovalidate' => 'formnovalidate')); return $buttons; } @@ -656,7 +656,7 @@ class OrderedArrayAttribute extends SetAttribute function renderButtons () { $id = $this->getHtmlId(); - $buttons = $this->renderInputField('submit', 'add'.$id, array('value' => '{msgPool type=addButton}')); + $buttons = $this->renderInputField('submit', 'add'.$id, array('value' => '{msgPool type=addButton}', 'formnovalidate' => 'formnovalidate')); return $buttons; } } diff --git a/include/simpleplugin/attributes/class_StringAttribute.inc b/include/simpleplugin/attributes/class_StringAttribute.inc index 632ec4bea79869ad0b2cf9af0d357275ab166e42..f76587bae4f78fb416c3bed3dd84799ed0d1babd 100644 --- a/include/simpleplugin/attributes/class_StringAttribute.inc +++ b/include/simpleplugin/attributes/class_StringAttribute.inc @@ -80,6 +80,9 @@ class StringAttribute extends Attribute if ($this->html5pattern !== NULL) { $attributes['pattern'] = htmlentities($this->html5pattern, ENT_COMPAT, 'UTF-8'); } + if ($this->isRequired()) { + $attributes['required'] = 'required'; + } $display = $this->renderInputField($this->inputType, $id, $attributes); return $this->renderAcl($display); } @@ -153,7 +156,9 @@ class TextAreaAttribute extends StringAttribute { $id = $this->getHtmlId(); $display = '<textarea name="'.$id.'" id="'.$id.'"'. - ($this->disabled ? ' disabled="disabled"' : '').'>'. + ($this->disabled ? ' disabled="disabled"' : ''). + ($this->isRequired() ? ' required="required"' : ''). + '>'. '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}</textarea>'; return $this->renderAcl($display); } diff --git a/include/simpleplugin/class_dialogAttributes.inc b/include/simpleplugin/class_dialogAttributes.inc index c0169875b6a89254deea88ffa4efb5d0cdafb634..997f560261c75007975a334e8ee5f5c3877e3a0c 100644 --- a/include/simpleplugin/class_dialogAttributes.inc +++ b/include/simpleplugin/class_dialogAttributes.inc @@ -249,20 +249,27 @@ class DialogAttribute extends SetAttribute ); $buttons .= $this->renderInputField( 'submit', 'add'.$id, - array('value' => '{msgPool type=addButton}') + array( + 'value' => '{msgPool type=addButton}', + 'formnovalidate' => 'formnovalidate' + ) ); $dialogButtonValue = _('Add (dialog)'); } $buttons .= $this->renderInputField( 'submit', 'add'.$id.'_dialog', array( - 'class' => 'dialog', - 'value' => $dialogButtonValue + 'class' => 'dialog', + 'value' => $dialogButtonValue, + 'formnovalidate' => 'formnovalidate' ) ); $buttons .= $this->renderInputField( 'submit', 'del'.$id, - array('value' => '{msgPool type=delButton}') + array( + 'value' => '{msgPool type=delButton}', + 'formnovalidate' => 'formnovalidate' + ) ); return $buttons; } @@ -337,8 +344,9 @@ class DialogOrderedArrayAttribute extends OrderedArrayAttribute return $this->renderInputField( 'submit', 'add'.$id.'_dialog', array( - 'class' => 'dialog', - 'value' => '{msgPool type=addButton}' + 'class' => 'dialog', + 'value' => '{msgPool type=addButton}', + 'formnovalidate' => 'formnovalidate' ) ); } diff --git a/setup/setup_migrate_adminAccount.tpl b/setup/setup_migrate_adminAccount.tpl index ae5ca8bbc5e9b05c22e6d7cc290f11359098d245..a7cd35fffa0b26e7f8c23aab558a93bb40a9719f 100644 --- a/setup/setup_migrate_adminAccount.tpl +++ b/setup/setup_migrate_adminAccount.tpl @@ -51,7 +51,7 @@ <hr/> <div style='width:99%; text-align:right; padding:5px;'> <input type='submit' name='dialog_confirm' value='{t}Apply{/t}'/> - <input type='submit' name='dialog_cancel' value='{t}Cancel{/t}'/> + <input type='submit' formnovalidate="formnovalidate" name='dialog_cancel' value='{t}Cancel{/t}'/> </div> </div> </div> diff --git a/setup/setup_migrate_baseOC.tpl b/setup/setup_migrate_baseOC.tpl index 4a85846dff236694f76c63d6a5d104d290a971fc..bec45cc2f90c31c2a097eaaafddead5e1124adf9 100644 --- a/setup/setup_migrate_baseOC.tpl +++ b/setup/setup_migrate_baseOC.tpl @@ -22,7 +22,7 @@ <hr/> <div style='width:100%; text-align:right; padding:5px;'> - <input type='submit' name='dialog_cancel' value='{t}Close{/t}'> + <input type='submit' formnovalidate="formnovalidate" name='dialog_cancel' value='{t}Close{/t}'> </div> </div> </div>