NAME

form_field_validation - data type validation for fields

SYNOPSIS

#include <form.h>
int set_field_type(FIELD *field, FIELDTYPE *type, ...);
FIELDTYPE *field_type(FIELD *field);
char *field_arg(FIELD *field);

DESCRIPTION

The function set_field_type declares a data type for a given form field. This is the type checked by validation functions. The types are as follows:

TYPE_ALNUM
Alphanumeric data. Requires a third argument, a minimum field width.

TYPE_ALPHA
Character data. Requires a third argument, a minimum field width.

TYPE_ENUM
Accept one of a specified set of strings. Requires a third (char **) argument pointing to a string list; a fourth flag argument to enable case-sensitivity; and a fifth flag argument specifying whether a partial match must be a unique one (if this flag is off, a prefix matches the first of any set of more than one list elements with that prefix).

TYPE_INTEGER
Integer data, parsable to an integer by atoi(3). Requires a third integer precision argument that sets zero-padding, a fourth argument constraining minimum value, and a fifth constraining maximum value.

TYPE_NUMERIC
Numeric data (may have a decimal-point part). Requires following arguments as for TYPE_INTEGER data.

TYPE_REGEXP
Regular expression data. Requires a regular expression third argument; the data is valid if the regular expression matches it. Regular expressions are in the format of regcomp(3x) and regexec(3X).

It is possible to set up new programmer-defined field types. See the form_fieldtype(3X) manual page.

RETURN VALUE

The functions field_type and eld_argfR return NULL on error. The function set_field_type returns one of the following:

E_OK The routine succeeded.

E_SYSTEM_ERROR
System error occurred (see errno).

SEE ALSO

curses(3X), form(3X).

NOTES

The header file <form.h> automatically includes the header file <curses.h>.

PORTABILITY

These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions.

AUTHORS

Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond.


Table of Contents