The formlets Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The formlets Reference Manual

This is the formlets Reference Manual, version 0.3, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:47:57 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Formlets

An implementation of self-validating formlets for Hunchentoot.

News

Goals

Boilerplate elimination

At the high level, form interaction in HTML requires

  1. Showing the user a form
  2. Getting the response back
  3. Running a validation function per form field (or run a single validation function on all of the fields)
  4. If the validation passed, sending them on, otherwise, showing them the form again (annotating to highight errors)

and I don't want to have to type it out all the time.

Simplicity

A define-formlet and show-formlet call is all that should be required to display, validate and potentially re-display a form as many times as necessary.

Style

Automatically wraps the generated form in a UL and provides CSS classes and ids as hooks for the designers, making the look and feel easily customizable with an external stylesheet.

Completeness

Currently, it supports the complete set of HTML form fields excepting reset (hidden, password, text, textarea, file, checkbox (and checkbox-set), radio-set (a stand-alone radio button is kind of pointless), select (and multi-select)) and recaptcha. The system will eventually support higher-level inputs, like date or slider.

Semi-Goals

Portability

The system assumes Hunchentoot + cl-who. This allows the internal code to take advantage of HTML generation, as opposed to tag formatting, and make use of post-parameters* and the Hunchentoot session. That said, porting away from cl-who would only involve re-defining the show methods, and porting away from Hunchentoot would involve re-writing the define-formlet and show-formlet macros to accomodate another session and POST model.

Run-time efficiency

The module is aimed at simplifying HTML form use for the developer. This is a place that's by definition bound by the slower of user speed or network speed. Furthermore, a single form is very rarely more than 20 inputs long in practice. Pieces will be made efficient where possible, but emphasis will not be placed on it.

Markup customization

While there are no assumptions about the CSS, formlet HTML markup is fixed in the show methods. You can go in and re-define all the shows, but that's about as easy as markup customization is going to get.

All that said, I have no experience working with CL servers other than hunchentoot, and formlets is as fast as I need it to be at the moment, so if you'd like to change any of the above things, patches welcome.

Usage

Predicates

Formlets now includes a number of predicate generators for external use. These cover the common situations so that you won't typically have to pass around raw lambdas. They all return predicate functions as output.

The following four are pretty self explanatory. Longer/shorter checks the length of a string. matches? passes if the given regex returns a result for the given input, and mismatches? is the opposite. not-blank? makes sure that a non-"" value was passed, and same-as? checks that the field value is string= to the specified value.

The file predicates expect a hunchentoot file tuple instead of a string, but act the same from the users' perspective. file-type? takes any number of type-strings and makes sure that the given files' content type matches one of them. You can find a list of common mimetypes here. It doesn't rely on file extensions. file-smaller-than? takes a number of bytes and checks if the given file is smaller.

Finally, the newly added set-predicates expect a list of values as input from the given field (these can only be used on multi-select boxes and checkbox-sets). They ensure that the number of returned values is (greater than|less than|equal to) a specified number.

Tutorial

To see some example code, check out the test.lisp file (to see it in action, load the formlets-test system and run the formlets-test function, then check out localhost:4141). An example form declaration using a general validation message:

(define-formlet (login :submit "Login" :general-validation (#'check-password "I see what you did there. ಠ_ಠ"))
    ((user-name text) (password password))
  (start-session)
  (setf (session-value :user-name) user-name)
  (setf (session-value :user-id) (check-password user-name password))
  (redirect "/profile"))

If the validation function returns t, a session is started and the user is redirected to /profile. Otherwise, the user will be sent back to the previous page, and a general error will be displayed just above the form. The fields in this formlet are user-name (a standard text input), and password (a password input). The submit button will read "Login" (by default, it reads "Submit").

You would display the above formlet as follows:

(define-easy-handler (login-page :uri "/") ()
  (form-template (show-formlet login)))

An instance of the formlet named login is created as part of the define-formlet call above. Calling show-formlet with the appropriate formlet name causes the full HTML of the formlet to be generated. If any values appropiate for this formlet are found in session (or if you passed in a set using the :default-values argument to show-formlet), they will be displayed as default form values (passwords and recaptcha fields are never stored in session, so even if you redefine the password show method to display its value, it will not). If any errors appropriate for this formlet are present, they are shown alongside the associated input.

An example form using individual input validation:

(define-formlet (register :submit "Register")
     ((user-name text :validation ((not-blank?) "You can't leave this field blank"
                                       #`unique-username? "That name has already been taken"))
      (password password :validation (longer-than? 4) "Your password must be longer than 4 characters")
      (confirm-password password :validation ((same-as? "password") "You must enter the same password in 'confirm password'"))
      (captcha recaptcha))
  (let ((id (register user-name password)))
    (start-session)
    (setf (session-value :user-name) user-name)
    (setf (session-value :user-id) id)
    (redirect "/profile")))

You'd display this the same way as above, and the same principles apply. The only difference is that, instead of a single error being displayed on a validation failure, one is displayed next to each input. In this case, it's a series of 4 (recaptchas are the odd duck; they have their very own validate method, which you can see in recaptcha.lisp, so no additional declaration is needed). If all of them pass, the user is redirected to /profile, otherwise a list of errors and user inputs is returned to register-page.

A single field declaration looks like this (the validation parameter is a list of ((predicate-function error-message) ...)

    (field-name field-type &key size value-set default-value validation)

A formlet declaration breaks down as

    ((name &key general-validation (submit "Submit")) (&rest fields) &rest on-success)

Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 formlets

Maintainer

leo.zovic@gmail.com

Author

leo.zovic@gmail.com

License

MIT-style

Description

Validating formlets for Hunchentoot

Version

0.3

Dependencies
Source

formlets.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 formlets.asd

Location

formlets.asd

Systems

formlets (system)

Packages

formlets-system


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 formlets/package.lisp

Parent

formlets (system)

Location

package.lisp

Packages

formlets


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 formlets/utility.lisp

Dependency

package.lisp (file)

Parent

formlets (system)

Location

utility.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 formlets/formlets.lisp

Dependencies
Parent

formlets (system)

Location

formlets.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 formlets/recaptcha.lisp

Dependencies
Parent

formlets (system)

Location

recaptcha.lisp

Exported Definitions
Internal Definitions

recaptcha-passed? (function)


Previous: , Up: Lisp files   [Contents][Index]

3.1.6 formlets/macros.lisp

Dependencies
Parent

formlets (system)

Location

macros.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 formlets-system

Source

formlets.asd

Use List

Previous: , Up: Packages   [Contents][Index]

4.2 formlets

A package implementing auto-validating formlets for Hunchentoot

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *private-key*
Package

formlets

Source

recaptcha.lisp (file)

Special Variable: *public-key*
Package

formlets

Source

recaptcha.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: define-formlet (NAME &key GENERAL-VALIDATION SUBMIT) (&rest FIELDS) &rest ON-SUCCESS

Converts a terse declaration form into the corresponding object and validation handler.

Package

formlets

Source

macros.lisp (file)

Macro: show-formlet FORMLET-NAME &key DEFAULT-VALUES

Shortcut for displaying a formlet.
It outputs the formlet HTML to standard-out (with indenting).
If this is the last submitted formlet in session, display field values and errors, then clear out the formlet-related session information.

Package

formlets

Source

macros.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: file-smaller-than? BYTE-SIZE
Package

formlets

Source

formlets.lisp (file)

Function: file-type? &rest ACCEPTED-TYPES
Package

formlets

Source

formlets.lisp (file)

Function: longer-than? NUM
Package

formlets

Source

formlets.lisp (file)

Function: matches? REGEX
Package

formlets

Source

formlets.lisp (file)

Function: mismatches? REGEX
Package

formlets

Source

formlets.lisp (file)

Function: not-blank? ()
Package

formlets

Source

formlets.lisp (file)

Function: picked-exactly? NUM
Package

formlets

Source

formlets.lisp (file)

Function: picked-fewer-than? NUM
Package

formlets

Source

formlets.lisp (file)

Function: picked-more-than? NUM
Package

formlets

Source

formlets.lisp (file)

Function: same-as? FIELD-NAME-STRING
Package

formlets

Source

formlets.lisp (file)

Function: shorter-than? NUM
Package

formlets

Source

formlets.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Generic functions

Generic Function: post-value FORMLET POST-ALIST
Package

formlets

Methods
Method: post-value (FIELD formlet-field-return-set) POST-ALIST
Source

formlets.lisp (file)

Method: post-value (FIELD formlet-field) POST-ALIST
Source

formlets.lisp (file)

Method: post-value (FORMLET formlet) POST-ALIST
Source

formlets.lisp (file)

Generic Function: show FORMLET &optional VALUES ERRORS
Package

formlets

Methods
Method: show (FIELD recaptcha) &optional V ERROR
Source

recaptcha.lisp (file)

Method: show (FIELD checkbox-set) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD multi-select) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD radio-set) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD checkbox) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD select) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD file) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD password) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD textarea) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD formlet-field) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FIELD hidden) &optional VALUE ERROR
Source

formlets.lisp (file)

Method: show (FORMLET formlet) &optional VALUES ERRORS
Source

formlets.lisp (file)

Generic Function: validate FORMLET FORM-VALUES
Package

formlets

Methods
Method: validate (FIELD recaptcha) VALUES

A reCaptcha, being a foreign API call, is validated in a completely different way

Source

recaptcha.lisp (file)

Method: validate (FIELD formlet-field) VALUE

Returns (values T NIL) if there are no errors, and (values NIL list-of-errors). By default, a formlet-field passes only its own value to its validation functions.

Source

formlets.lisp (file)

Method: validate (FORMLET formlet) FORM-VALUES
Source

formlets.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Classes

Class: checkbox ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field (class)

Direct methods

show (method)

Class: checkbox-set ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field-return-set (class)

Direct methods

show (method)

Class: file ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field (class)

Direct methods

show (method)

Class: formlet ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name (generic function)

Slot: fields
Initargs

:fields

Readers

fields (generic function)

Slot: validation-functions
Initargs

:validation-functions

Readers

validation-functions (generic function)

Writers

(setf validation-functions) (generic function)

Slot: error-messages
Initargs

:error-messages

Readers

error-messages (generic function)

Slot: submit-caption
Initargs

:submit

Initform

"submit"

Readers

submit (generic function)

Slot: enctype
Initargs

:enctype

Initform

"application/x-www-form-urlencoded"

Readers

enctype (generic function)

Writers

(setf enctype) (generic function)

Slot: on-success
Initargs

:on-success

Readers

on-success (generic function)

Class: formlet-field ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name (generic function)

Slot: validation-functions
Initargs

:validation-functions

Readers

validation-functions (generic function)

Writers

(setf validation-functions) (generic function)

Slot: default-value
Initargs

:default-value

Readers

default-value (generic function)

Slot: error-messages
Initargs

:error-messages

Readers

error-messages (generic function)

Writers

(setf error-messages) (generic function)

Class: hidden ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field (class)

Direct methods

show (method)

Class: multi-select ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field-return-set (class)

Direct methods

show (method)

Class: password ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field (class)

Direct methods

show (method)

Class: radio-set ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field-set (class)

Direct methods

show (method)

Class: recaptcha ()
Package

formlets

Source

recaptcha.lisp (file)

Direct superclasses

formlet-field (class)

Direct methods
Class: select ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field-set (class)

Direct methods

show (method)

Class: text ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field (class)

Class: textarea ()
Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field (class)

Direct methods

show (method)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Macros

Macro: define-predicate NAME (&rest ARGS) &body BODY
Package

formlets

Source

formlets.lisp (file)

Macro: define-show FIELD-TYPE &body BODY
Package

formlets

Source

formlets.lisp (file)

Macro: html-to-stout &body BODY
Package

formlets

Source

utility.lisp (file)

Macro: html-to-str &body BODY

Returns HTML as a string, as well as printing to standard-out

Package

formlets

Source

utility.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: define-field FIELD-NAME FIELD-TYPE &key SIZE VALUE-SET DEFAULT-VALUE VALIDATION

Takes a terse declaration and expands it into a make-instance for macro purposes

Package

formlets

Source

macros.lisp (file)

Function: ensure-list-length LIST DESIRED-LENGTH
Package

formlets

Source

macros.lisp (file)

Function: file-size F-NAME
Package

formlets

Source

utility.lisp (file)

Function: recaptcha-passed? CHALLENGE RESPONSE IP &optional PRIVATE-KEY
Package

formlets

Source

recaptcha.lisp (file)

Function: split-validation-list VALIDATION-LIST
Package

formlets

Source

utility.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Generic functions

Generic Function: default-value OBJECT
Package

formlets

Methods
Method: default-value (FORMLET-FIELD formlet-field)

automatically generated reader method

Source

formlets.lisp (file)

Generic Function: enctype OBJECT
Generic Function: (setf enctype) NEW-VALUE OBJECT
Package

formlets

Methods
Method: enctype (FORMLET formlet)

automatically generated reader method

Source

formlets.lisp (file)

Method: (setf enctype) NEW-VALUE (FORMLET formlet)

automatically generated writer method

Source

formlets.lisp (file)

Generic Function: error-messages OBJECT
Generic Function: (setf error-messages) NEW-VALUE OBJECT
Package

formlets

Methods
Method: error-messages (FORMLET-FIELD formlet-field)

automatically generated reader method

Source

formlets.lisp (file)

Method: (setf error-messages) NEW-VALUE (FORMLET-FIELD formlet-field)

automatically generated writer method

Source

formlets.lisp (file)

Method: error-messages (FORMLET formlet)

automatically generated reader method

Source

formlets.lisp (file)

Generic Function: fields OBJECT
Package

formlets

Methods
Method: fields (FORMLET formlet)

automatically generated reader method

Source

formlets.lisp (file)

Generic Function: name OBJECT
Package

formlets

Methods
Method: name (FORMLET-FIELD formlet-field)

automatically generated reader method

Source

formlets.lisp (file)

Method: name (FORMLET formlet)

automatically generated reader method

Source

formlets.lisp (file)

Generic Function: on-success OBJECT
Package

formlets

Methods
Method: on-success (FORMLET formlet)

automatically generated reader method

Source

formlets.lisp (file)

Generic Function: submit OBJECT
Package

formlets

Methods
Method: submit (FORMLET formlet)

automatically generated reader method

Source

formlets.lisp (file)

Generic Function: validation-functions OBJECT
Generic Function: (setf validation-functions) NEW-VALUE OBJECT
Package

formlets

Methods
Method: validation-functions (FORMLET-FIELD formlet-field)

automatically generated reader method

Source

formlets.lisp (file)

Method: (setf validation-functions) NEW-VALUE (FORMLET-FIELD formlet-field)

automatically generated writer method

Source

formlets.lisp (file)

Method: validation-functions (FORMLET formlet)

automatically generated reader method

Source

formlets.lisp (file)

Method: (setf validation-functions) NEW-VALUE (FORMLET formlet)

automatically generated writer method

Source

formlets.lisp (file)

Generic Function: value-set OBJECT
Generic Function: (setf value-set) NEW-VALUE OBJECT
Package

formlets

Methods
Method: value-set (FORMLET-FIELD-SET formlet-field-set)

automatically generated reader method

Source

formlets.lisp (file)

Method: (setf value-set) NEW-VALUE (FORMLET-FIELD-SET formlet-field-set)

automatically generated writer method

Source

formlets.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Classes

Class: formlet-field-return-set ()

This class is specifically for fields that return multiple values from the user

Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field-set (class)

Direct subclasses
Direct methods

post-value (method)

Class: formlet-field-set ()

This class is for fields that show the user a list of options

Package

formlets

Source

formlets.lisp (file)

Direct superclasses

formlet-field (class)

Direct subclasses
Direct methods
Direct slots
Slot: value-set
Initargs

:value-set

Readers

value-set (generic function)

Writers

(setf value-set) (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L  
Index Entry  Section

F
File, Lisp, formlets.asd: The formlets<dot>asd file
File, Lisp, formlets/formlets.lisp: The formlets/formlets<dot>lisp file
File, Lisp, formlets/macros.lisp: The formlets/macros<dot>lisp file
File, Lisp, formlets/package.lisp: The formlets/package<dot>lisp file
File, Lisp, formlets/recaptcha.lisp: The formlets/recaptcha<dot>lisp file
File, Lisp, formlets/utility.lisp: The formlets/utility<dot>lisp file
formlets.asd: The formlets<dot>asd file
formlets/formlets.lisp: The formlets/formlets<dot>lisp file
formlets/macros.lisp: The formlets/macros<dot>lisp file
formlets/package.lisp: The formlets/package<dot>lisp file
formlets/recaptcha.lisp: The formlets/recaptcha<dot>lisp file
formlets/utility.lisp: The formlets/utility<dot>lisp file

L
Lisp File, formlets.asd: The formlets<dot>asd file
Lisp File, formlets/formlets.lisp: The formlets/formlets<dot>lisp file
Lisp File, formlets/macros.lisp: The formlets/macros<dot>lisp file
Lisp File, formlets/package.lisp: The formlets/package<dot>lisp file
Lisp File, formlets/recaptcha.lisp: The formlets/recaptcha<dot>lisp file
Lisp File, formlets/utility.lisp: The formlets/utility<dot>lisp file

Jump to:   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
D   E   F   G   H   L   M   N   O   P   R   S   V  
Index Entry  Section

(
(setf enctype): Internal generic functions
(setf enctype): Internal generic functions
(setf error-messages): Internal generic functions
(setf error-messages): Internal generic functions
(setf validation-functions): Internal generic functions
(setf validation-functions): Internal generic functions
(setf validation-functions): Internal generic functions
(setf value-set): Internal generic functions
(setf value-set): Internal generic functions

D
default-value: Internal generic functions
default-value: Internal generic functions
define-field: Internal functions
define-formlet: Exported macros
define-predicate: Internal macros
define-show: Internal macros

E
enctype: Internal generic functions
enctype: Internal generic functions
ensure-list-length: Internal functions
error-messages: Internal generic functions
error-messages: Internal generic functions
error-messages: Internal generic functions

F
fields: Internal generic functions
fields: Internal generic functions
file-size: Internal functions
file-smaller-than?: Exported functions
file-type?: Exported functions
Function, define-field: Internal functions
Function, ensure-list-length: Internal functions
Function, file-size: Internal functions
Function, file-smaller-than?: Exported functions
Function, file-type?: Exported functions
Function, longer-than?: Exported functions
Function, matches?: Exported functions
Function, mismatches?: Exported functions
Function, not-blank?: Exported functions
Function, picked-exactly?: Exported functions
Function, picked-fewer-than?: Exported functions
Function, picked-more-than?: Exported functions
Function, recaptcha-passed?: Internal functions
Function, same-as?: Exported functions
Function, shorter-than?: Exported functions
Function, split-validation-list: Internal functions

G
Generic Function, (setf enctype): Internal generic functions
Generic Function, (setf error-messages): Internal generic functions
Generic Function, (setf validation-functions): Internal generic functions
Generic Function, (setf value-set): Internal generic functions
Generic Function, default-value: Internal generic functions
Generic Function, enctype: Internal generic functions
Generic Function, error-messages: Internal generic functions
Generic Function, fields: Internal generic functions
Generic Function, name: Internal generic functions
Generic Function, on-success: Internal generic functions
Generic Function, post-value: Exported generic functions
Generic Function, show: Exported generic functions
Generic Function, submit: Internal generic functions
Generic Function, validate: Exported generic functions
Generic Function, validation-functions: Internal generic functions
Generic Function, value-set: Internal generic functions

H
html-to-stout: Internal macros
html-to-str: Internal macros

L
longer-than?: Exported functions

M
Macro, define-formlet: Exported macros
Macro, define-predicate: Internal macros
Macro, define-show: Internal macros
Macro, html-to-stout: Internal macros
Macro, html-to-str: Internal macros
Macro, show-formlet: Exported macros
matches?: Exported functions
Method, (setf enctype): Internal generic functions
Method, (setf error-messages): Internal generic functions
Method, (setf validation-functions): Internal generic functions
Method, (setf validation-functions): Internal generic functions
Method, (setf value-set): Internal generic functions
Method, default-value: Internal generic functions
Method, enctype: Internal generic functions
Method, error-messages: Internal generic functions
Method, error-messages: Internal generic functions
Method, fields: Internal generic functions
Method, name: Internal generic functions
Method, name: Internal generic functions
Method, on-success: Internal generic functions
Method, post-value: Exported generic functions
Method, post-value: Exported generic functions
Method, post-value: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, show: Exported generic functions
Method, submit: Internal generic functions
Method, validate: Exported generic functions
Method, validate: Exported generic functions
Method, validate: Exported generic functions
Method, validation-functions: Internal generic functions
Method, validation-functions: Internal generic functions
Method, value-set: Internal generic functions
mismatches?: Exported functions

N
name: Internal generic functions
name: Internal generic functions
name: Internal generic functions
not-blank?: Exported functions

O
on-success: Internal generic functions
on-success: Internal generic functions

P
picked-exactly?: Exported functions
picked-fewer-than?: Exported functions
picked-more-than?: Exported functions
post-value: Exported generic functions
post-value: Exported generic functions
post-value: Exported generic functions
post-value: Exported generic functions

R
recaptcha-passed?: Internal functions

S
same-as?: Exported functions
shorter-than?: Exported functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show: Exported generic functions
show-formlet: Exported macros
split-validation-list: Internal functions
submit: Internal generic functions
submit: Internal generic functions

V
validate: Exported generic functions
validate: Exported generic functions
validate: Exported generic functions
validate: Exported generic functions
validation-functions: Internal generic functions
validation-functions: Internal generic functions
validation-functions: Internal generic functions
value-set: Internal generic functions
value-set: Internal generic functions

Jump to:   (  
D   E   F   G   H   L   M   N   O   P   R   S   V  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
D   E   F   N   O   S   V  
Index Entry  Section

*
*private-key*: Exported special variables
*public-key*: Exported special variables

D
default-value: Exported classes

E
enctype: Exported classes
error-messages: Exported classes
error-messages: Exported classes

F
fields: Exported classes

N
name: Exported classes
name: Exported classes

O
on-success: Exported classes

S
Slot, default-value: Exported classes
Slot, enctype: Exported classes
Slot, error-messages: Exported classes
Slot, error-messages: Exported classes
Slot, fields: Exported classes
Slot, name: Exported classes
Slot, name: Exported classes
Slot, on-success: Exported classes
Slot, submit-caption: Exported classes
Slot, validation-functions: Exported classes
Slot, validation-functions: Exported classes
Slot, value-set: Internal classes
Special Variable, *private-key*: Exported special variables
Special Variable, *public-key*: Exported special variables
submit-caption: Exported classes

V
validation-functions: Exported classes
validation-functions: Exported classes
value-set: Internal classes

Jump to:   *  
D   E   F   N   O   S   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   F   H   M   P   R   S   T  
Index Entry  Section

C
checkbox: Exported classes
checkbox-set: Exported classes
Class, checkbox: Exported classes
Class, checkbox-set: Exported classes
Class, file: Exported classes
Class, formlet: Exported classes
Class, formlet-field: Exported classes
Class, formlet-field-return-set: Internal classes
Class, formlet-field-set: Internal classes
Class, hidden: Exported classes
Class, multi-select: Exported classes
Class, password: Exported classes
Class, radio-set: Exported classes
Class, recaptcha: Exported classes
Class, select: Exported classes
Class, text: Exported classes
Class, textarea: Exported classes

F
file: Exported classes
formlet: Exported classes
formlet-field: Exported classes
formlet-field-return-set: Internal classes
formlet-field-set: Internal classes
formlets: The formlets system
formlets: The formlets package
formlets-system: The formlets-system package

H
hidden: Exported classes

M
multi-select: Exported classes

P
Package, formlets: The formlets package
Package, formlets-system: The formlets-system package
password: Exported classes

R
radio-set: Exported classes
recaptcha: Exported classes

S
select: Exported classes
System, formlets: The formlets system

T
text: Exported classes
textarea: Exported classes

Jump to:   C   F   H   M   P   R   S   T