Form validation in Common Lisp

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • clavier

    :heavy_check_mark: General purpose validation library for Common Lisp (by mmontone)

  • (defun validate-all (validators object) "Run all validators in turn. Return two values: the status (boolean), and a list of messages. Allow a keyword validator: :allow-blank. Accepts a blank value. If not blank, validate." ;; I wanted this to be part of clavier, but well. ;; https://github.com/mmontone/clavier/pull/10 (let ((messages nil) (valid t)) (loop for validator in validators if (and (eql :allow-blank validator) (str:blankp object)) return t else do (unless (symbolp validator) (multiple-value-bind (status message) (clavier:validate validator object :error-p nil) (unless status (setf valid nil)) (when message (push message messages))))) (values valid (reverse (uiop:ensure-list messages)))))

  • cl-forms

    Web forms handling library for Common lisp

  • Let's say you are building many HTML forms. Doing one all manually is OK-ish, not two. You could use cl-forms (I didn't, I'm building a layer to get a form from Mito objects. If you didn't see where I'm doing it look better or stay tuned ;) ) You could do things semi-manually and use Clavier for input validation. It works like this.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts