X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fform_field_validation.3x.html;h=759878a2802e6372d917d617a7e3c1d14df8b35a;hp=8150c2c1a7a1921923fc01cd071590cd9f503e60;hb=5925150381bb42a4d8c7116d62c348a7b84309f3;hpb=42259b594b5dabd37fe2bc294051d2db82e873a2 diff --git a/doc/html/man/form_field_validation.3x.html b/doc/html/man/form_field_validation.3x.html index 8150c2c1..759878a2 100644 --- a/doc/html/man/form_field_validation.3x.html +++ b/doc/html/man/form_field_validation.3x.html @@ -27,7 +27,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_validation.3x,v 1.27 2020/10/18 00:07:45 tom Exp @ + * @Id: form_field_validation.3x,v 1.33 2020/12/12 19:57:55 tom Exp @ --> @@ -53,10 +53,11 @@
#include <form.h> - int set_field_type(FIELD *field, FIELDTYPE *type, ...); - FIELDTYPE *field_type(const FIELD *field); void *field_arg(const FIELD *field); + FIELDTYPE *field_type(const FIELD *field); + int set_field_type(FIELD *field, FIELDTYPE *type, ...); + /* predefined field types */ FIELDTYPE *TYPE_ALNUM; FIELDTYPE *TYPE_ALPHA; FIELDTYPE *TYPE_ENUM; @@ -67,73 +68,107 @@
- The function set_field_type declares a data type for a given form - field. This is the type checked by validation functions. The prede- - fined types are as follows: + By default, no validation is done on form fields. You can associate a + form with with a field type, making the form library validate input. + + +
+ Returns a pointer to the field's argument block. The argument block is + an opaque structure containing a copy of the arguments provided in a + set_field_type call. + + +
+ Returns a pointer to the field type associated with the form field, + i.e., by calling set_field_type. + + +
+ The function set_field_type associates a field type with a given form + field. This is the type checked by validation functions. Most field + types are configurable, via arguments which the caller provides when + calling set_field_type. + + Several field types are predefined by the form library. + + +
+ It is possible to set up new programmer-defined field types. Field + types are implemented via the FIELDTYPE data structure, which contains + several pointers to functions. + + See the form_fieldtype(3x) manual page, which describes functions which + can be used to construct a field-type dynamically. + + The predefined types are as follows: TYPE_ALNUM - Alphanumeric data. Requires a third int argument, a minimum field - width. + Alphanumeric data. Required parameter: + + o a third int argument, a minimum field width. TYPE_ALPHA - Character data. Requires a third int argument, a minimum field - width. + Character data. Required parameter: + + o a third int argument, a minimum field width. TYPE_ENUM - Accept one of a specified set of strings. Requires additional - parameters: + Accept one of a specified set of strings. Required parameters: o a third (char **) argument pointing to a string list; o a fourth int flag argument to enable case-sensitivity; - o and a fifth int 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. + o a fifth int 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. - The library copies the string list, so you may use a list that - lives in automatic variables on the stack. + The library copies the string list, so you may use a list that + lives in automatic variables on the stack. TYPE_INTEGER - Integer data, parsable to an integer by atoi(3). Requires addi- - tional parameters: + Integer data, parsable to an integer by atoi(3). Required parame- + ters: o a third int argument controlling the precision, o a fourth long argument constraining minimum value, - o and a fifth long constraining maximum value. If the maximum - value is less than or equal to the minimum value, the range is - simply ignored. On return, the field buffer is formatted - according to the printf format specification ".*ld", where the - "*" is replaced by the precision argument. + o a fifth long constraining maximum value. If the maximum value + is less than or equal to the minimum value, the range is sim- + ply ignored. + + On return, the field buffer is formatted according to the printf + format specification ".*ld", where the "*" is replaced by the pre- + cision argument. - For details of the precision handling see printf(3). + For details of the precision handling see printf(3). TYPE_NUMERIC - Numeric data (may have a decimal-point part). This requires addi- - tional parameters: + Numeric data (may have a decimal-point part). Required parame- + ters: o a third int argument controlling the precision, o a fourth double argument constraining minimum value, o and a fifth double constraining maximum value. If your system - supports locales, the decimal point character must be the one - specified by your locale. If the maximum value is less than + supports locales, the decimal point character must be the one + specified by your locale. If the maximum value is less than or equal to the minimum value, the range is simply ignored. - On return, the field buffer is formatted according to the - printf format specification ".*f", where the "*" is replaced - by the precision argument. + On return, the field buffer is formatted according to the printf + format specification ".*f", where the "*" is replaced by the pre- + cision argument. - For details of the precision handling see printf(3). + For details of the precision handling see printf(3). TYPE_REGEXP - Regular expression data. Requires a regular expression (char *) - third argument. The data is valid if the regular expression - matches it. + Regular expression data. Required parameter: + + o a third argument, a regular expression (char *) string. The + data is valid if the regular expression matches it. Regular expressions are in the format of regcomp and regexec. @@ -146,18 +181,18 @@ trailing spaces around the digits. TYPE_IPV4 - An Internet Protocol Version 4 address. This requires no addi- - tional argument. The library checks whether or not the buffer has - the form a.b.c.d, where a,b,c and d are numbers between 0 and 255. - Trailing blanks in the buffer are ignored. The address itself is + An Internet Protocol Version 4 address. Required parameter: + + o none + + The form library checks whether or not the buffer has the form + a.b.c.d, where a, b, c, and d are numbers in the range 0 to 255. + Trailing blanks in the buffer are ignored. The address itself is not validated. This is an ncurses extension; this field type may not be available in other curses implementations. - It is possible to set up new programmer-defined field types. See the - form_fieldtype(3x) manual page. -
The functions field_type and field_arg return NULL on error. The func- @@ -170,7 +205,7 @@
- curses(3x), form(3x), form_variables(3x). + curses(3x), form(3x), form_fieldtype(3x), form_variables(3x).
@@ -195,7 +230,14 @@