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