+form_field_validation(3x)form_field_validation(3x)+ + +

@@ -53,12 +57,20 @@ FIELDTYPE *field_type(const FIELD *field); void *field_arg(const FIELD *field); + FIELDTYPE *TYPE_ALNUM; + FIELDTYPE *TYPE_ALPHA; + FIELDTYPE *TYPE_ENUM; + FIELDTYPE *TYPE_INTEGER; + FIELDTYPE *TYPE_NUMERIC; + FIELDTYPE *TYPE_REGEXP; + FIELDTYPE *TYPE_IPV4; +

The functionset_field_typedeclares a data type for a given form field. This is the type checked by validation - functions. The types are as follows: + functions. The predefined types are as follows: TYPE_ALNUM Alphanumeric data. Requires a thirdintargument, a @@ -78,7 +90,7 @@ than one list elements with that prefix). Please notice that the string list is not copied, only a reference to it is stored in the field. So you should - avoid to use a list that lives in automatic variables + avoid using a list that lives in automatic variables on the stack. TYPE_INTEGER @@ -86,9 +98,9 @@ Requires a thirdintargument controlling the preci- sion, a fourthlongargument constraining minimum value, and a fifthlongconstraining maximum value. - If the maximum value is less or equal the minimum - value, the range is simply ignored. On return the - field buffer is formatted according to theprintf+ 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 theprintfformat specification ".*ld", where the '*' is replaced by the precision argument. For details of the precision handling seeprintf'sman-page. @@ -98,47 +110,48 @@ Requires a thirdintargument controlling the preci- sion, a fourthdoubleargument constraining minimum value, and a fifthdoubleconstraining maximum value. - If your system supports locale's, the decimal point + If your system supports locales, the decimal point character to be used must be the one specified by - your locale. If the maximum value is less or equal - the minimum value, the range is simply ignored. On - return the field buffer is formatted according to the -printfformat specification ".*f", where the '*' is - replaced by the precision argument. For details of - the precision handling seeprintf'sman-page. + 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 theprintfformat specification ".*f", + where the '*' is replaced by the precision argument. + For details of the precision handling seeprintf's+ man-page. TYPE_REGEXP - Regular expression data. Requires a regular expres- - sion(char*)third argument; the data is valid if - the regular expression matches it. Regular expres- - sions are in the format ofregcomp(3x)and -regexec(3x). Please notice that the regular expres- - sion must match the whole field. If you have for - example an eight character wide field, a regular - expression "^[0-9]*$" always means that you have to - fill all eight positions with digits. If you want to - allow fewer digits, you may use for example "^[0-9]* + Regular expression data. Requires a regular expres- + sion(char*)third argument; the data is valid if + the regular expression matches it. Regular expres- + sions are in the format ofregcomp(3x)and +regexec(3x). Please notice that the regular expres- + sion must match the whole field. If you have for + example an eight character wide field, a regular + expression "^[0-9]*$" always means that you have to + fill all eight positions with digits. If you want to + allow fewer digits, you may use for example "^[0-9]* *$" which is good for trailing spaces (up to an empty - field), or "^ *[0-9]* *$" which is good for leading + field), or "^ *[0-9]* *$" which is good for leading and trailing spaces around the digits. TYPE_IPV4 An Internet Protocol Version 4 address. This requires - no additional argument. It is checked whether or not - the buffer has the form a.b.c.d, where a,b,c and d + no additional argument. It is checked 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 not vali- + buffer are ignored. The address itself is not vali- dated. Please note that this is an ncurses extension. - This field type may not be available in other curses + This field type may not be available in other curses implementations. - It is possible to set up new programmer-defined field - types. See theform_fieldtype(3x)manual page. + It is possible to set up new programmer-defined field + types. See theform_fieldtype(3x)manual page.

- The functionsfield_typeandfield_argreturnNULLon + The functionsfield_typeandfield_argreturnNULLon error. The functionset_field_typereturns one of the fol- lowing: @@ -161,63 +174,18 @@

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

- Juergen Pfeifer. Manual pages and adaptation for new + Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +form_field_validation(3x)