cl-ds / data /repos /cl-forms /src /fields /url.lisp
j14i's picture
3375 CL macro transformation examples from 85 libraries
43203b4 verified
(in-package :forms)
(defclass url-form-field (form-field)
()
(:documentation "An url input field"))
(defmethod validate-form-field ((form-field url-form-field))
(and
(funcall (clavier:valid-url (or (field-invalid-message form-field)
"The url is not valid"))
(field-value form-field))
(call-next-method)))
(defmethod field-read-from-request ((field url-form-field) form parameters)
(setf (field-value field)
(cdr (assoc (field-request-name field form) parameters :test #'string=))))
(defmethod make-form-field ((field-type (eql :url)) &rest args)
(apply #'make-instance 'url-form-field args))