[Improve `simple-form' default `render' implementation clinton@unknownlamer.org**20090215224509 Ignore-this: 1a705ce4afc07da627184b5ebaa81cbe *

/

are not allowed within

; use <:progn instead * Use a

rather than
around form fields ] hunk ./src/simple-form.lisp 156 - (<:p :class "error" - (<:h1 "Form Failed Validation") - (if-bind failed-messages (mapcan (lambda (f) - (if-bind msg (message f) - (list msg))) - (slot-value form '%failed-validators)) - (mapc (lambda (m) (<:h2 (<:as-html m))) - failed-messages)))) - (mapc - (lambda (c) - (<:div - :class "field-box" ; composite field-box (car c)? - (<:div :class "label" - (<:as-html (symbol->string (car c))) - (if (form-invalid-p form) - (multiple-value-bind (validp failed) - (form-field-validp form (cdr c)) - (if (not validp) - (<:p :class "error" - (<:format "Invalid ~@[(~{~A~^, ~})~]" - (mapcan (lambda (v) - (if-bind msg (ucw-forms::message v) - (list msg) - msg)) - failed))))))) - (<:div :class "widget" (render (cdr c))))) - (form-fields form)))) + (<:progn + (<:h1 :class "error" "Form Failed Validation") + (if-bind failed-messages (mapcan (lambda (f) + (if-bind msg (message f) + (list msg))) + (slot-value form '%failed-validators)) + (mapc (lambda (m) (<:h2 :class "error" (<:as-html m))) + failed-messages)))) + (<:fieldset + (<:legend (<:as-html (symbol->string (class-name (class-of form))))) + (mapc + (lambda (c) + (<:div + :class "field-box" ; composite field-box (car c)? + (<:label :for (html-element.dom-id (cdr c)) + (<:as-html (symbol->string (car c))) + (if (form-invalid-p form) + (multiple-value-bind (validp failed) + (form-field-validp form (cdr c)) + (if (not validp) + (<:span :class "error" + (<:format "Invalid ~@[(~{~A~^, ~})~]" + (mapcan (lambda (v) + (if-bind msg (message v) + (list msg) + msg)) + failed))))))) + (render (cdr c)))) + + (form-fields form)))))