The clavier Reference Manual

This is the clavier Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:36:12 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 clavier

Clavier: A Common Lisp validation library

Author

Mariano Montone

Home Page

https://github.com/mmontone/clavier

License

MIT

Long Description

Clavier
———-

[![Quicklisp](http://quickdocs.org/badge/clavier.svg)](http://quickdocs.org/clavier/)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)

*Clavier* is a general purpose validation library for Common Lisp.

Install
——-

Through Quicklisp:

“‘lisp
(ql:quickload :clavier)
“‘
Getting started
—————

Validators are class instances that validate the arguments passed to the ‘validate‘ function:

“‘lisp
(let ((validator (make-instance ’equal-to-validator :object 22)))
(validate validator 22 :error-p t))

;=> T
“‘

If the validator succeeds, the validate function returns ‘T‘. If it fails, the validate function either signals a validation error, or returns ‘NIL‘ and a validation message depending on the value of the ‘:error-p‘ argument.

“‘lisp
(let ((validator (make-instance ’equal-to-validator :object 22)))
(validate validator 33 :error-p nil))

;=>
;NIL
;"33 is not equal to 22"
“‘

Validators are implemented as funcallable classes. So, alternatively to using the ‘validate‘ function, it is possible to just funcall the validator, like this:

“‘lisp
(let ((validator (make-instance ’equal-to-validator :object 22)))
(funcall validator 22 :error-p t))

;=> T
“‘

## Validation expressions

It is possible to create validators with a more convenient syntax. Each validator provides a builder function. For instance, and equal-to-validator can be built like this:

“‘lisp
(funcall (== 100) 100) ;=> T
(funcall (== 100) 99) ;=> NIL
“‘

## Validators composition

This allows to compose validators, using ‘==‘, ‘~=‘, ‘&&‘, ‘||‘ as the composition operands:

“‘lisp
(let ((validator (|| (&& (greater-than 20)
(less-than 30))
(|| (&& (greater-than 1)
(less-than 10))
(== 100)))))
(funcall validator 5))
“‘

For example, this is how to accept a blank object, but validate it if it isn’t blank:

~~~lisp
(defparameter *validator* (clavier:||
(clavier:blank)
(clavier:&& (clavier:is-a-string)
(clavier:len :min 10)))
"Allow a blank value. When non blank, validate.")

(funcall *validator* "")
;; =>
T
NIL

(funcall *validator* "asdfasdfasdf")
;; =>
T
NIL

(funcall *validator* "asdf")
;; =>
NIL
"Length of \"asdf\" is less than 10"

(funcall *validator* 2)
;; =>
NIL
"2 is not a string"
~~~

## Validators messages

Validators messages to be used when validation fails can be customized passing an ‘:message‘ argument when building the validator

## Catching and collecting validation errors

Validation errors can be controlled globally by setting the dynamic variable ‘*signal-validation-errors*‘, which is ‘NIL‘ by default (no validation errors are signaled by default).

There’s also the ‘with-signal-validation-errors‘ macro to specify whether validation errors should be signaled or not in a dynamic extent. For instance, this code signals a validation error:

“‘lisp
(let ((validator (make-instance ’equal-to-validator :object 22)))
(with-signal-validation-errors (t)
(validate validator 33)))
“‘

Use the ‘collecting-validation-errors‘ macro to collect validation errors happening in a dynamic extent:

“‘lisp
(let ((validator (make-instance ’equal-to-validator :object 22)))
(collecting-validation-errors (errors found-p)
(progn
(funcall validator 33 :error-p t)
(funcall validator 44 :error-p t))
(print errors)
(print found-p)))
;=>
;(#<VALIDATION-ERROR 44: 44 is not equal to 22 {1008A48673}>
; #<VALIDATION-ERROR 33: 33 is not equal to 22 {1008A47EA3}>)
;T
“‘

## Validators list:

This is the list of available validator classes and their shortcut function:

* equal-to-validator ‘(==)‘
* not-equal-to-validator ‘(~=)‘
* blank-validator ‘(blank)‘
* not-blank-validator ‘(not-blank)‘
* true-validator ‘(is-true)‘
* false-validator ‘(is-false)‘
* type-validator ‘(is-a type)‘
* string-validator ‘(is-a-string)‘
* boolean-validator ‘(is-a-boolean)‘
* integer-validator ‘(is-an-integer)‘
* symbol-validator ‘(is-a-symbol)‘
* keyword-validator ‘(is-a-keyword)‘
* list-validator ‘(is-a-list)‘
* function-validator ‘(fn function message)‘
* email-validator ‘(valid-email)‘
* regex-validator ‘(matches-regex regex-pattern)‘
* url-validator ‘(valid-url)‘
* datetime-validator ‘(valid-datetime)‘
* pathname-validator ‘(valid-pathname)‘
* not-validator ‘(~ validator)‘
* and-validator ‘(&& validator1 validator2)‘
* or-validator ‘(|| validator1 validator2)‘
* one-of-validator ‘(one-of options)‘
* less-than-validator ‘(less-than number)‘
* greater-than-validator ‘(greater-than number)‘
* length-validator ‘(len)‘

Dependencies
  • alexandria (system).
  • cl-ppcre (system).
  • closer-mop (system).
  • chronicity (system).
  • cl-fad (system).
Source

clavier.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 clavier/clavier.asd

Source

clavier.asd.

Parent Component

clavier (system).

ASDF Systems

clavier.


3.1.2 clavier/package.lisp

Source

clavier.asd.

Parent Component

clavier (system).

Packages

clavier.


3.1.3 clavier/clavier.lisp

Dependency

package.lisp (file).

Source

clavier.asd.

Parent Component

clavier (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 clavier

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *signal-validation-errors*
Package

clavier.

Source

clavier.lisp.


5.1.2 Macros

Macro: collecting-validation-errors ((errors found-p) expr &body body)
Package

clavier.

Source

clavier.lisp.

Macro: with-signal-validation-errors ((&optional signal) &body body)

Enables/disables validation errors in body

Args: - signal(boolean) : If **T**, errors are signaled. If **NIL**, they are not.

Package

clavier.

Source

clavier.lisp.


5.1.3 Ordinary functions

Function: (x y &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: && (x y &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: == (object &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: blank (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: call-with-signal-validation-errors (func &optional signal)
Package

clavier.

Source

clavier.lisp.

Function: fn (function message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: greater-than (number &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-a (type &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-a-boolean (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-a-keyword (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-a-list (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-a-string (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-a-symbol (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-an-integer (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-false (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: is-true (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: len (&key min max message min-message max-message)
Package

clavier.

Source

clavier.lisp.

Function: less-than (number &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: matches-regex (regex &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: not-blank (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: one-of (options &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: valid-datetime (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: valid-email (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: valid-pathname (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: valid-url (&optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: validate (validator object &rest args &key error-p message &allow-other-keys)
Package

clavier.

Source

clavier.lisp.

Function: validation-error (target error-msg &rest args)
Package

clavier.

Source

clavier.lisp.

Function: validator-message (validator object)

Returns the validator message for the given object

Package

clavier.

Source

clavier.lisp.

Function: ~ (validator &optional message &rest args)
Package

clavier.

Source

clavier.lisp.

Function: ~= (object &optional message &rest args)
Package

clavier.

Source

clavier.lisp.


5.1.4 Generic functions

Generic Function: message (object)
Package

clavier.

Methods
Method: message ((validator length-validator))
Source

clavier.lisp.

Reader Method: message ((validator validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

message.

Generic Writer: (setf message) (object)
Package

clavier.

Methods
Writer Method: (setf message) ((validator validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

message.

Generic Reader: validation-error-message (condition)
Package

clavier.

Methods
Reader Method: validation-error-message ((condition validation-error))
Source

clavier.lisp.

Target Slot

error-msg.

Generic Reader: validation-error-target (condition)
Package

clavier.

Methods
Reader Method: validation-error-target ((condition validation-error))
Source

clavier.lisp.

Target Slot

target.

Generic Reader: validator (object)
Package

clavier.

Methods
Reader Method: validator ((not-validator not-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

validator.

Generic Writer: (setf validator) (object)
Package

clavier.

Methods
Writer Method: (setf validator) ((not-validator not-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

validator.


5.1.5 Standalone methods

Method: initialize-instance :after ((validator validator) &rest initargs)
Source

clavier.lisp.

Method: print-object ((validation-error validation-error) stream)
Source

clavier.lisp.


5.1.6 Conditions

Condition: validation-error
Package

clavier.

Source

clavier.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: target
Initform

(quote (error "set up the target"))

Initargs

:target

Readers

validation-error-target.

Writers

This slot is read-only.

Slot: error-msg
Initform

(quote (error "provide the error message"))

Initargs

:error-msg

Readers

validation-error-message.

Writers

This slot is read-only.


5.1.7 Classes

Class: and-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (if (not (validate (x validator) object error-p nil)) (validator-message (x validator) object) (validator-message (y validator) object)))
Direct slots
Slot: x
Initform

(error "provide the first validator")

Initargs

:x

Readers

x.

Writers

(setf x).

Slot: y
Initform

(error "provide the second validator")

Initargs

:y

Readers

y.

Writers

(setf y).

Class: blank-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods

%validate.

Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil should be blank))
Class: boolean-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

type-validator.

Direct Default Initargs
InitargValue
:type(quote boolean)
:message(lambda (validator object) (declare (ignorable validator)) (format nil ~a is not a boolean object))
Class: datetime-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods

%validate.

Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil ~a is not a valid timestamp object))
Class: email-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods

%validate.

Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator)) (format nil the email is invalid: ~a object))
Class: equal-to-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (format nil ~a is not equal to ~a object (object validator)))
Direct slots
Slot: object
Initform

(error "provide the object")

Initargs

:object

Readers

object.

Writers

(setf object).

Class: false-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods

%validate.

Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil is not false))
Class: function-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct slots
Slot: function
Package

common-lisp.

Initform

(error "provide the function")

Initargs

:function

Readers

validator-function.

Writers

(setf validator-function).

Class: greater-than-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil ~a is not greater than ~a object (validator-number validator)))
Direct slots
Slot: number
Package

common-lisp.

Initform

(error "provide the number")

Initargs

:number

Readers

validator-number.

Writers

(setf validator-number).

Class: integer-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

type-validator.

Direct Default Initargs
InitargValue
:type(quote integer)
:message(lambda (validator object) (declare (ignorable validator)) (format nil ~a is not an integer object))
Class: keyword-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

type-validator.

Direct Default Initargs
InitargValue
:type(quote keyword)
:message(lambda (validator object) (declare (ignorable validator)) (format nil ~a is not a keyword object))
Class: length-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:messagenil
Direct slots
Slot: min

Minimum length

Package

common-lisp.

Initargs

:min

Readers

validator-min.

Writers

(setf validator-min).

Slot: max

Maximum length

Package

common-lisp.

Initargs

:max

Readers

validator-max.

Writers

(setf validator-max).

Slot: length

The expected length

Package

common-lisp.

Initargs

:length

Readers

validator-length.

Writers

(setf validator-length).

Slot: min-message

Message for when length is below minimum

Initargs

:min-message

Readers

validator-min-message.

Writers

(setf validator-min-message).

Slot: max-message

Message for when length is above maximum

Initargs

:max-message

Readers

validator-max-message.

Writers

(setf validator-max-message).

Class: less-than-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil ~a is not lower than ~a object (validator-number validator)))
Direct slots
Slot: number
Package

common-lisp.

Initform

(error "provide the number")

Initargs

:number

Readers

validator-number.

Writers

(setf validator-number).

Class: list-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

type-validator.

Direct Default Initargs
InitargValue
:type(quote list)
:message(lambda (validator object) (declare (ignorable validator)) (format nil ~a is not a list object))
Class: not-blank-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods

%validate.

Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil should not be blank))
Class: not-equal-to-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (format nil ~a is equal to ~a object (object validator)))
Direct slots
Slot: object
Initform

(error "provide the object")

Initargs

:object

Readers

object.

Writers

(setf object).

Class: not-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (format nil not ~a (validator-message (validator validator) object)))
Direct slots
Slot: validator
Initform

(error "provide the validator")

Initargs

:validator

Readers

validator.

Writers

(setf validator).

Class: one-of-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil should be one of ~{~a~} (options validator)))
Direct slots
Slot: options
Initform

(error "provide the options")

Initargs

:options

Readers

options.

Writers

(setf options).

Class: or-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (if (validate (x validator) object error-p nil) (validator-message (x validator) object) (validator-message (y validator) object)))
Direct slots
Slot: x
Initform

(error "provide the first validator")

Initargs

:x

Readers

x.

Writers

(setf x).

Slot: y
Initform

(error "provide the second validator")

Initargs

:y

Readers

y.

Writers

(setf y).

Class: pathname-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil ~a is not a valid pathname object))
Direct slots
Slot: absolute-p

If the pathname should be absolute

Initargs

:absolute-p

Readers

absolute-p.

Writers

(setf absolute-p).

Slot: probe-p

Probe existance of pathname

Initargs

:probe-p

Readers

probe-p.

Writers

(setf probe-p).

Slot: pathname-type

The pathname type

Package

common-lisp.

Initargs

:pathname-type

Readers

pathname-type*.

Writers

(setf pathname-type*).

Class: regex-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil ~a does not match the regex ~s object (validator-regex validator)))
Direct slots
Slot: regex
Initform

(error "provide the regex")

Initargs

:regex

Readers

validator-regex.

Writers

(setf validator-regex).

Class: string-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

type-validator.

Direct Default Initargs
InitargValue
:type(quote string)
:message(lambda (validator object) (declare (ignore validator)) (format nil ~s is not a string object))
Class: symbol-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

type-validator.

Direct Default Initargs
InitargValue
:type(quote symbol)
:message(lambda (validator object) (declare (ignorable validator)) (format nil ~a is not a symbol object))
Class: true-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods

%validate.

Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil is not true))
Class: type-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:message(lambda (validator object) (format nil ~a is not of type ~a object (validator-type validator)))
Direct slots
Slot: type
Package

common-lisp.

Initform

(error "provide the type")

Initargs

:type

Readers

validator-type.

Writers

(setf validator-type).

Class: url-validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods

%validate.

Direct Default Initargs
InitargValue
:message(lambda (validator object) (declare (ignorable validator object)) (format nil ~a is not a valid url object))
Class: validator
Package

clavier.

Source

clavier.lisp.

Direct superclasses

funcallable-standard-object.

Direct subclasses
Direct methods
Direct slots
Slot: message
Type

(or null string function)

Initform

(error "provide the validation error message")

Initargs

:message

Readers

message.

Writers

(setf message).

Class: validator-collection
Package

clavier.

Source

clavier.lisp.

Direct superclasses

validator.

Direct methods
Direct Default Initargs
InitargValue
:message(lambda (&rest args) (declare (ignorable args)) )
Direct slots
Slot: validators
Initargs

:validators

Readers

validators.

Writers

(setf validators).


5.2 Internals


5.2.1 Ordinary functions

Function: %collecting-validation-errors (func)
Package

clavier.

Source

clavier.lisp.

Function: valid-email-address-p (string)
Package

clavier.

Source

clavier.lisp.

Function: valid-url-p (string)
Package

clavier.

Source

clavier.lisp.


5.2.2 Generic functions

Generic Function: %validate (validator object &rest args)
Package

clavier.

Source

clavier.lisp.

Methods
Method: %validate ((validator greater-than-validator) object &rest args)
Method: %validate ((validator less-than-validator) object &rest args)
Method: %validate ((validator one-of-validator) object &rest args)
Method: %validate ((validator or-validator) object &rest args)
Method: %validate ((validator and-validator) object &rest args)
Method: %validate ((validator not-validator) object &rest args)
Method: %validate ((validator pathname-validator) object &rest args)
Method: %validate ((validator datetime-validator) object &rest args)
Method: %validate ((validator regex-validator) object &rest args)
Method: %validate ((validator url-validator) object &rest args)
Method: %validate ((validator email-validator) object &rest args)
Method: %validate ((validator length-validator) object &rest args)
Method: %validate ((validator false-validator) object &rest args)
Method: %validate ((validator true-validator) object &rest args)
Method: %validate ((validator not-blank-validator) object &rest args)
Method: %validate ((validator blank-validator) object &rest args)
Method: %validate ((validator function-validator) object &rest args)
Method: %validate ((validator type-validator) object &rest args)
Method: %validate ((validator not-equal-to-validator) object &rest args)
Method: %validate ((validator equal-to-validator) object &rest args)
Method: %validate ((validator validator-collection) object &rest args)
Generic Reader: absolute-p (object)
Generic Writer: (setf absolute-p) (object)
Package

clavier.

Methods
Reader Method: absolute-p ((pathname-validator pathname-validator))
Writer Method: (setf absolute-p) ((pathname-validator pathname-validator))

If the pathname should be absolute

Source

clavier.lisp.

Target Slot

absolute-p.

Generic Reader: object (object)
Package

clavier.

Methods
Reader Method: object ((not-equal-to-validator not-equal-to-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

object.

Reader Method: object ((equal-to-validator equal-to-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

object.

Generic Writer: (setf object) (object)
Package

clavier.

Methods
Writer Method: (setf object) ((not-equal-to-validator not-equal-to-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

object.

Writer Method: (setf object) ((equal-to-validator equal-to-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

object.

Generic Reader: options (object)
Package

clavier.

Methods
Reader Method: options ((one-of-validator one-of-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

options.

Generic Writer: (setf options) (object)
Package

clavier.

Methods
Writer Method: (setf options) ((one-of-validator one-of-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

options.

Generic Reader: pathname-type* (object)
Generic Writer: (setf pathname-type*) (object)
Package

clavier.

Methods
Reader Method: pathname-type* ((pathname-validator pathname-validator))
Writer Method: (setf pathname-type*) ((pathname-validator pathname-validator))

The pathname type

Source

clavier.lisp.

Target Slot

pathname-type.

Generic Reader: probe-p (object)
Generic Writer: (setf probe-p) (object)
Package

clavier.

Methods
Reader Method: probe-p ((pathname-validator pathname-validator))
Writer Method: (setf probe-p) ((pathname-validator pathname-validator))

Probe existance of pathname

Source

clavier.lisp.

Target Slot

probe-p.

Generic Reader: validator-function (object)
Package

clavier.

Methods
Reader Method: validator-function ((function-validator function-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

function.

Generic Writer: (setf validator-function) (object)
Package

clavier.

Methods
Writer Method: (setf validator-function) ((function-validator function-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

function.

Generic Reader: validator-length (object)
Generic Writer: (setf validator-length) (object)
Package

clavier.

Methods
Reader Method: validator-length ((length-validator length-validator))
Writer Method: (setf validator-length) ((length-validator length-validator))

The expected length

Source

clavier.lisp.

Target Slot

length.

Generic Reader: validator-max (object)
Generic Writer: (setf validator-max) (object)
Package

clavier.

Methods
Reader Method: validator-max ((length-validator length-validator))
Writer Method: (setf validator-max) ((length-validator length-validator))

Maximum length

Source

clavier.lisp.

Target Slot

max.

Generic Reader: validator-max-message (object)
Generic Writer: (setf validator-max-message) (object)
Package

clavier.

Methods
Reader Method: validator-max-message ((length-validator length-validator))
Writer Method: (setf validator-max-message) ((length-validator length-validator))

Message for when length is above maximum

Source

clavier.lisp.

Target Slot

max-message.

Generic Reader: validator-min (object)
Generic Writer: (setf validator-min) (object)
Package

clavier.

Methods
Reader Method: validator-min ((length-validator length-validator))
Writer Method: (setf validator-min) ((length-validator length-validator))

Minimum length

Source

clavier.lisp.

Target Slot

min.

Generic Reader: validator-min-message (object)
Generic Writer: (setf validator-min-message) (object)
Package

clavier.

Methods
Reader Method: validator-min-message ((length-validator length-validator))
Writer Method: (setf validator-min-message) ((length-validator length-validator))

Message for when length is below minimum

Source

clavier.lisp.

Target Slot

min-message.

Generic Reader: validator-number (object)
Package

clavier.

Methods
Reader Method: validator-number ((greater-than-validator greater-than-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

number.

Reader Method: validator-number ((less-than-validator less-than-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

number.

Generic Writer: (setf validator-number) (object)
Package

clavier.

Methods
Writer Method: (setf validator-number) ((greater-than-validator greater-than-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

number.

Writer Method: (setf validator-number) ((less-than-validator less-than-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

number.

Generic Reader: validator-regex (object)
Package

clavier.

Methods
Reader Method: validator-regex ((regex-validator regex-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

regex.

Generic Writer: (setf validator-regex) (object)
Package

clavier.

Methods
Writer Method: (setf validator-regex) ((regex-validator regex-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

regex.

Generic Reader: validator-type (object)
Package

clavier.

Methods
Reader Method: validator-type ((type-validator type-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

type.

Generic Writer: (setf validator-type) (object)
Package

clavier.

Methods
Writer Method: (setf validator-type) ((type-validator type-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

type.

Generic Reader: validators (object)
Package

clavier.

Methods
Reader Method: validators ((validator-collection validator-collection))

automatically generated reader method

Source

clavier.lisp.

Target Slot

validators.

Generic Writer: (setf validators) (object)
Package

clavier.

Methods
Writer Method: (setf validators) ((validator-collection validator-collection))

automatically generated writer method

Source

clavier.lisp.

Target Slot

validators.

Generic Reader: x (object)
Package

clavier.

Methods
Reader Method: x ((or-validator or-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

x.

Reader Method: x ((and-validator and-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

x.

Generic Writer: (setf x) (object)
Package

clavier.

Methods
Writer Method: (setf x) ((or-validator or-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

x.

Writer Method: (setf x) ((and-validator and-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

x.

Generic Reader: y (object)
Package

clavier.

Methods
Reader Method: y ((or-validator or-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

y.

Reader Method: y ((and-validator and-validator))

automatically generated reader method

Source

clavier.lisp.

Target Slot

y.

Generic Writer: (setf y) (object)
Package

clavier.

Methods
Writer Method: (setf y) ((or-validator or-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

y.

Writer Method: (setf y) ((and-validator and-validator))

automatically generated writer method

Source

clavier.lisp.

Target Slot

y.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   &   (   =   ~    
A   B   C   F   G   I   L   M   N   O   P   V   W   X   Y  
Index Entry  Section

%
%collecting-validation-errors: Private ordinary functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions
%validate: Private generic functions

&
&&: Public ordinary functions

(
(setf absolute-p): Private generic functions
(setf absolute-p): Private generic functions
(setf message): Public generic functions
(setf message): Public generic functions
(setf object): Private generic functions
(setf object): Private generic functions
(setf object): Private generic functions
(setf options): Private generic functions
(setf options): Private generic functions
(setf pathname-type*): Private generic functions
(setf pathname-type*): Private generic functions
(setf probe-p): Private generic functions
(setf probe-p): Private generic functions
(setf validator): Public generic functions
(setf validator): Public generic functions
(setf validator-function): Private generic functions
(setf validator-function): Private generic functions
(setf validator-length): Private generic functions
(setf validator-length): Private generic functions
(setf validator-max): Private generic functions
(setf validator-max): Private generic functions
(setf validator-max-message): Private generic functions
(setf validator-max-message): Private generic functions
(setf validator-min): Private generic functions
(setf validator-min): Private generic functions
(setf validator-min-message): Private generic functions
(setf validator-min-message): Private generic functions
(setf validator-number): Private generic functions
(setf validator-number): Private generic functions
(setf validator-number): Private generic functions
(setf validator-regex): Private generic functions
(setf validator-regex): Private generic functions
(setf validator-type): Private generic functions
(setf validator-type): Private generic functions
(setf validators): Private generic functions
(setf validators): Private generic functions
(setf x): Private generic functions
(setf x): Private generic functions
(setf x): Private generic functions
(setf y): Private generic functions
(setf y): Private generic functions
(setf y): Private generic functions

=
==: Public ordinary functions

~
~: Public ordinary functions
~=: Public ordinary functions

: Public ordinary functions

A
absolute-p: Private generic functions
absolute-p: Private generic functions

B
blank: Public ordinary functions

C
call-with-signal-validation-errors: Public ordinary functions
collecting-validation-errors: Public macros

F
fn: Public ordinary functions
Function, %collecting-validation-errors: Private ordinary functions
Function, &&: Public ordinary functions
Function, ==: Public ordinary functions
Function, blank: Public ordinary functions
Function, call-with-signal-validation-errors: Public ordinary functions
Function, fn: Public ordinary functions
Function, greater-than: Public ordinary functions
Function, is-a: Public ordinary functions
Function, is-a-boolean: Public ordinary functions
Function, is-a-keyword: Public ordinary functions
Function, is-a-list: Public ordinary functions
Function, is-a-string: Public ordinary functions
Function, is-a-symbol: Public ordinary functions
Function, is-an-integer: Public ordinary functions
Function, is-false: Public ordinary functions
Function, is-true: Public ordinary functions
Function, len: Public ordinary functions
Function, less-than: Public ordinary functions
Function, matches-regex: Public ordinary functions
Function, not-blank: Public ordinary functions
Function, one-of: Public ordinary functions
Function, valid-datetime: Public ordinary functions
Function, valid-email: Public ordinary functions
Function, valid-email-address-p: Private ordinary functions
Function, valid-pathname: Public ordinary functions
Function, valid-url: Public ordinary functions
Function, valid-url-p: Private ordinary functions
Function, validate: Public ordinary functions
Function, validation-error: Public ordinary functions
Function, validator-message: Public ordinary functions
Function, ~: Public ordinary functions
Function, ~=: Public ordinary functions
Function, : Public ordinary functions

G
Generic Function, %validate: Private generic functions
Generic Function, (setf absolute-p): Private generic functions
Generic Function, (setf message): Public generic functions
Generic Function, (setf object): Private generic functions
Generic Function, (setf options): Private generic functions
Generic Function, (setf pathname-type*): Private generic functions
Generic Function, (setf probe-p): Private generic functions
Generic Function, (setf validator): Public generic functions
Generic Function, (setf validator-function): Private generic functions
Generic Function, (setf validator-length): Private generic functions
Generic Function, (setf validator-max): Private generic functions
Generic Function, (setf validator-max-message): Private generic functions
Generic Function, (setf validator-min): Private generic functions
Generic Function, (setf validator-min-message): Private generic functions
Generic Function, (setf validator-number): Private generic functions
Generic Function, (setf validator-regex): Private generic functions
Generic Function, (setf validator-type): Private generic functions
Generic Function, (setf validators): Private generic functions
Generic Function, (setf x): Private generic functions
Generic Function, (setf y): Private generic functions
Generic Function, absolute-p: Private generic functions
Generic Function, message: Public generic functions
Generic Function, object: Private generic functions
Generic Function, options: Private generic functions
Generic Function, pathname-type*: Private generic functions
Generic Function, probe-p: Private generic functions
Generic Function, validation-error-message: Public generic functions
Generic Function, validation-error-target: Public generic functions
Generic Function, validator: Public generic functions
Generic Function, validator-function: Private generic functions
Generic Function, validator-length: Private generic functions
Generic Function, validator-max: Private generic functions
Generic Function, validator-max-message: Private generic functions
Generic Function, validator-min: Private generic functions
Generic Function, validator-min-message: Private generic functions
Generic Function, validator-number: Private generic functions
Generic Function, validator-regex: Private generic functions
Generic Function, validator-type: Private generic functions
Generic Function, validators: Private generic functions
Generic Function, x: Private generic functions
Generic Function, y: Private generic functions
greater-than: Public ordinary functions

I
initialize-instance: Public standalone methods
is-a: Public ordinary functions
is-a-boolean: Public ordinary functions
is-a-keyword: Public ordinary functions
is-a-list: Public ordinary functions
is-a-string: Public ordinary functions
is-a-symbol: Public ordinary functions
is-an-integer: Public ordinary functions
is-false: Public ordinary functions
is-true: Public ordinary functions

L
len: Public ordinary functions
less-than: Public ordinary functions

M
Macro, collecting-validation-errors: Public macros
Macro, with-signal-validation-errors: Public macros
matches-regex: Public ordinary functions
message: Public generic functions
message: Public generic functions
message: Public generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, %validate: Private generic functions
Method, (setf absolute-p): Private generic functions
Method, (setf message): Public generic functions
Method, (setf object): Private generic functions
Method, (setf object): Private generic functions
Method, (setf options): Private generic functions
Method, (setf pathname-type*): Private generic functions
Method, (setf probe-p): Private generic functions
Method, (setf validator): Public generic functions
Method, (setf validator-function): Private generic functions
Method, (setf validator-length): Private generic functions
Method, (setf validator-max): Private generic functions
Method, (setf validator-max-message): Private generic functions
Method, (setf validator-min): Private generic functions
Method, (setf validator-min-message): Private generic functions
Method, (setf validator-number): Private generic functions
Method, (setf validator-number): Private generic functions
Method, (setf validator-regex): Private generic functions
Method, (setf validator-type): Private generic functions
Method, (setf validators): Private generic functions
Method, (setf x): Private generic functions
Method, (setf x): Private generic functions
Method, (setf y): Private generic functions
Method, (setf y): Private generic functions
Method, absolute-p: Private generic functions
Method, initialize-instance: Public standalone methods
Method, message: Public generic functions
Method, message: Public generic functions
Method, object: Private generic functions
Method, object: Private generic functions
Method, options: Private generic functions
Method, pathname-type*: Private generic functions
Method, print-object: Public standalone methods
Method, probe-p: Private generic functions
Method, validation-error-message: Public generic functions
Method, validation-error-target: Public generic functions
Method, validator: Public generic functions
Method, validator-function: Private generic functions
Method, validator-length: Private generic functions
Method, validator-max: Private generic functions
Method, validator-max-message: Private generic functions
Method, validator-min: Private generic functions
Method, validator-min-message: Private generic functions
Method, validator-number: Private generic functions
Method, validator-number: Private generic functions
Method, validator-regex: Private generic functions
Method, validator-type: Private generic functions
Method, validators: Private generic functions
Method, x: Private generic functions
Method, x: Private generic functions
Method, y: Private generic functions
Method, y: Private generic functions

N
not-blank: Public ordinary functions

O
object: Private generic functions
object: Private generic functions
object: Private generic functions
one-of: Public ordinary functions
options: Private generic functions
options: Private generic functions

P
pathname-type*: Private generic functions
pathname-type*: Private generic functions
print-object: Public standalone methods
probe-p: Private generic functions
probe-p: Private generic functions

V
valid-datetime: Public ordinary functions
valid-email: Public ordinary functions
valid-email-address-p: Private ordinary functions
valid-pathname: Public ordinary functions
valid-url: Public ordinary functions
valid-url-p: Private ordinary functions
validate: Public ordinary functions
validation-error: Public ordinary functions
validation-error-message: Public generic functions
validation-error-message: Public generic functions
validation-error-target: Public generic functions
validation-error-target: Public generic functions
validator: Public generic functions
validator: Public generic functions
validator-function: Private generic functions
validator-function: Private generic functions
validator-length: Private generic functions
validator-length: Private generic functions
validator-max: Private generic functions
validator-max: Private generic functions
validator-max-message: Private generic functions
validator-max-message: Private generic functions
validator-message: Public ordinary functions
validator-min: Private generic functions
validator-min: Private generic functions
validator-min-message: Private generic functions
validator-min-message: Private generic functions
validator-number: Private generic functions
validator-number: Private generic functions
validator-number: Private generic functions
validator-regex: Private generic functions
validator-regex: Private generic functions
validator-type: Private generic functions
validator-type: Private generic functions
validators: Private generic functions
validators: Private generic functions

W
with-signal-validation-errors: Public macros

X
x: Private generic functions
x: Private generic functions
x: Private generic functions

Y
y: Private generic functions
y: Private generic functions
y: Private generic functions


A.3 Variables

Jump to:   *  
A   E   F   L   M   N   O   P   R   S   T   V   X   Y  
Index Entry  Section

*
*signal-validation-errors*: Public special variables

A
absolute-p: Public classes

E
error-msg: Public conditions

F
function: Public classes

L
length: Public classes

M
max: Public classes
max-message: Public classes
message: Public classes
min: Public classes
min-message: Public classes

N
number: Public classes
number: Public classes

O
object: Public classes
object: Public classes
options: Public classes

P
pathname-type: Public classes
probe-p: Public classes

R
regex: Public classes

S
Slot, absolute-p: Public classes
Slot, error-msg: Public conditions
Slot, function: Public classes
Slot, length: Public classes
Slot, max: Public classes
Slot, max-message: Public classes
Slot, message: Public classes
Slot, min: Public classes
Slot, min-message: Public classes
Slot, number: Public classes
Slot, number: Public classes
Slot, object: Public classes
Slot, object: Public classes
Slot, options: Public classes
Slot, pathname-type: Public classes
Slot, probe-p: Public classes
Slot, regex: Public classes
Slot, target: Public conditions
Slot, type: Public classes
Slot, validator: Public classes
Slot, validators: Public classes
Slot, x: Public classes
Slot, x: Public classes
Slot, y: Public classes
Slot, y: Public classes
Special Variable, *signal-validation-errors*: Public special variables

T
target: Public conditions
type: Public classes

V
validator: Public classes
validators: Public classes

X
x: Public classes
x: Public classes

Y
y: Public classes
y: Public classes


A.4 Data types

Jump to:   A   B   C   D   E   F   G   I   K   L   N   O   P   R   S   T   U   V  
Index Entry  Section

A
and-validator: Public classes

B
blank-validator: Public classes
boolean-validator: Public classes

C
Class, and-validator: Public classes
Class, blank-validator: Public classes
Class, boolean-validator: Public classes
Class, datetime-validator: Public classes
Class, email-validator: Public classes
Class, equal-to-validator: Public classes
Class, false-validator: Public classes
Class, function-validator: Public classes
Class, greater-than-validator: Public classes
Class, integer-validator: Public classes
Class, keyword-validator: Public classes
Class, length-validator: Public classes
Class, less-than-validator: Public classes
Class, list-validator: Public classes
Class, not-blank-validator: Public classes
Class, not-equal-to-validator: Public classes
Class, not-validator: Public classes
Class, one-of-validator: Public classes
Class, or-validator: Public classes
Class, pathname-validator: Public classes
Class, regex-validator: Public classes
Class, string-validator: Public classes
Class, symbol-validator: Public classes
Class, true-validator: Public classes
Class, type-validator: Public classes
Class, url-validator: Public classes
Class, validator: Public classes
Class, validator-collection: Public classes
clavier: The clavier system
clavier: The clavier package
clavier.asd: The clavier/clavier․asd file
clavier.lisp: The clavier/clavier․lisp file
Condition, validation-error: Public conditions

D
datetime-validator: Public classes

E
email-validator: Public classes
equal-to-validator: Public classes

F
false-validator: Public classes
File, clavier.asd: The clavier/clavier․asd file
File, clavier.lisp: The clavier/clavier․lisp file
File, package.lisp: The clavier/package․lisp file
function-validator: Public classes

G
greater-than-validator: Public classes

I
integer-validator: Public classes

K
keyword-validator: Public classes

L
length-validator: Public classes
less-than-validator: Public classes
list-validator: Public classes

N
not-blank-validator: Public classes
not-equal-to-validator: Public classes
not-validator: Public classes

O
one-of-validator: Public classes
or-validator: Public classes

P
Package, clavier: The clavier package
package.lisp: The clavier/package․lisp file
pathname-validator: Public classes

R
regex-validator: Public classes

S
string-validator: Public classes
symbol-validator: Public classes
System, clavier: The clavier system

T
true-validator: Public classes
type-validator: Public classes

U
url-validator: Public classes

V
validation-error: Public conditions
validator: Public classes
validator-collection: Public classes