summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorGerhard Killesreiter <killes_www_drop_org@227.no-reply.drupal.org>2006-03-15 08:57:37 +0000
committerGerhard Killesreiter <killes_www_drop_org@227.no-reply.drupal.org>2006-03-15 08:57:37 +0000
commitc7c9b57ec25791bcbe47b991fd6aa3dd528a2a3b (patch)
tree8280395861ea2426ae0b374b3b5e2abcf0ec0721 /includes
parent07fe4198ad8026fc973a65b79a4706bc281ddd51 (diff)
downloadbrdo-c7c9b57ec25791bcbe47b991fd6aa3dd528a2a3b.tar.gz
brdo-c7c9b57ec25791bcbe47b991fd6aa3dd528a2a3b.tar.bz2
#53967, form_builder checkbox/textfield/validation stuff, patch by hunmonk and chx
Diffstat (limited to 'includes')
-rw-r--r--includes/form.inc9
1 files changed, 6 insertions, 3 deletions
diff --git a/includes/form.inc b/includes/form.inc
index e028edbd7..b0345d638 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -325,14 +325,16 @@ function form_builder($form_id, $form) {
if ($posted) {
switch ($form['#type']) {
case 'checkbox':
- $form['#value'] = isset($edit) ? $form['#return_value'] : 0;
+ $form['#value'] = !empty($edit) ? $form['#return_value'] : 0;
break;
case 'select':
$form['#value'] = isset($edit) ? $edit : array();
break;
case 'textfield':
if (isset($edit)) {
- $form['#value'] = str_replace(array("\r", "\n"), '', $edit);
+ // Equate $edit to the form value to ensure it's marked for validation
+ $edit = str_replace(array("\r", "\n"), '', $edit);
+ $form['#value'] = $edit;
}
break;
default:
@@ -340,7 +342,8 @@ function form_builder($form_id, $form) {
$form['#value'] = $edit;
}
}
- if (isset($form['#value'])) {
+ // Mark all posted values for validation
+ if (isset($form['#value']) && $form['#value'] === $edit) {
$form['#needs_validation'] = TRUE;
}
}