diff options
author | Gerhard Killesreiter <killes_www_drop_org@227.no-reply.drupal.org> | 2006-03-15 08:57:37 +0000 |
---|---|---|
committer | Gerhard Killesreiter <killes_www_drop_org@227.no-reply.drupal.org> | 2006-03-15 08:57:37 +0000 |
commit | c7c9b57ec25791bcbe47b991fd6aa3dd528a2a3b (patch) | |
tree | 8280395861ea2426ae0b374b3b5e2abcf0ec0721 /includes | |
parent | 07fe4198ad8026fc973a65b79a4706bc281ddd51 (diff) | |
download | brdo-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.inc | 9 |
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; } } |