*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> field_arg (3)              
Title
Content
Arch
Section
 

form_field_validation(3X)

Contents


NAME    [Toc]    [Back]

       form_field_validation - data type validation for fields

SYNOPSIS    [Toc]    [Back]

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

DESCRIPTION    [Toc]    [Back]

       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 int argument, a minimum field
	    width.

       TYPE_ALPHA
	    Character data.  Requires a third int 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 int flag argument
	    to enable case-sensitivity; 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). 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  on
	    the stack.

       TYPE_INTEGER
	    Integer data, parsable to an integer by atoi(3).  Requires a third
	    int argument controlling the precision,  a	fourth	long  argument
	    constraining  minimum value, and a fifth long constraining 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 the printf format specification ".*ld", where the
	    '*'  is  replaced  by  the precision argument.  For details of the
	    precision handling see printf's man-page.

       TYPE_NUMERIC
	    Numeric data (may have a decimal-point part). Requires a third int
	    argument  controlling the precision, a fourth double argument constraining
 minimum value, and a fifth double  constraining  maximum
	    value. If your system supports locale's, 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  printf  format  specification  ".*f",  where  the	'*' is
	    replaced by the precision argument.  For details of the  precision
	    handling see printf's man-page.

       TYPE_REGEXP
	    Regular  expression  data.	Requires a regular expression (char *)
	    third argument; the  data  is  valid  if  the  regular  expression
	    matches  it.  Regular expressions are in the format of regcomp(3X)
	    and regexec(3X). Please notice that the  regular  expression  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 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 are numbers  between  0  and  255.
	    Trailing  blanks  in the buffer are ignored. The address itself is
	    not validated. Please note that 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.

RETURN VALUE    [Toc]    [Back]

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

       E_OK The routine succeeded.

       E_SYSTEM_ERROR    [Toc]    [Back]
	    System error occurred (see errno).

SEE ALSO    [Toc]    [Back]

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

NOTES    [Toc]    [Back]

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

PORTABILITY    [Toc]    [Back]

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

AUTHORS    [Toc]    [Back]

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



						     form_field_validation(3X)
[ Back ]
 Similar pages
Name OS Title
vector Linux Vector data type for Tcl
DtDtsSetDataType HP-UX set the data type of a directory
DtDtsFileToDataType HP-UX get a data type for a file
XmTab HP-UX Data type for a tab stop
XmTabList HP-UX Data type for a tab list
DtDtsDataTypeToAttributeValue HP-UX get an attribute value for a specified data type
XmString Tru64 Data type for a compound string
XmString HP-UX Data type for a compound string
XmFontList Tru64 Data type for a font list
XmFontList IRIX Data type for a font list
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service