.\"***************************************************************************
-.\" Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
+.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_validation.3x,v 1.23 2018/07/28 21:18:11 tom Exp $
+.\" $Id: form_field_validation.3x,v 1.27 2020/10/18 00:07:45 tom Exp $
.TH form_field_validation 3X ""
+.ie \n(.g .ds `` \(lq
+.el .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el .ds '' ''
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
\fBform_field_validation\fR \- data type validation for fields
.SH SYNOPSIS
\fB#include <form.h>\fR
+.sp
+\fBint set_field_type(FIELD *\fP\fIfield\fP\fB, FIELDTYPE *\fP\fItype\fP\fB, ...);\fP
.br
-int set_field_type(FIELD *field, FIELDTYPE *type, ...);
-.br
-FIELDTYPE *field_type(const FIELD *field);
+\fBFIELDTYPE *field_type(const FIELD *\fP\fIfield\fP\fB);\fP
.br
-void *field_arg(const FIELD *field);
+\fBvoid *field_arg(const FIELD *\fP\fIfield\fP\fB);\fP
.sp
-FIELDTYPE *TYPE_ALNUM;
+\fBFIELDTYPE *TYPE_ALNUM;\fP
.br
-FIELDTYPE *TYPE_ALPHA;
+\fBFIELDTYPE *TYPE_ALPHA;\fP
.br
-FIELDTYPE *TYPE_ENUM;
+\fBFIELDTYPE *TYPE_ENUM;\fP
.br
-FIELDTYPE *TYPE_INTEGER;
+\fBFIELDTYPE *TYPE_INTEGER;\fP
.br
-FIELDTYPE *TYPE_NUMERIC;
+\fBFIELDTYPE *TYPE_NUMERIC;\fP
.br
-FIELDTYPE *TYPE_REGEXP;
+\fBFIELDTYPE *TYPE_REGEXP;\fP
.br
-FIELDTYPE *TYPE_IPV4;
+\fBFIELDTYPE *TYPE_IPV4;\fP
.br
.SH DESCRIPTION
The function \fBset_field_type\fR declares a data type for a given form field.
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
-\fBprintf\fR format specification ".*ld", where the '*' is replaced by the
-precision argument.
+\fBprintf\fR format specification \*(``.*ld\*('',
+where the \*(``*\*('' is replaced by the precision argument.
.IP
-For details of the precision handling see \fBprintf's\fR man-page.
+For details of the precision handling see \fBprintf\fR(3).
.RE
.TP 5
TYPE_NUMERIC
the range is simply ignored.
.IP
On return, the field buffer is formatted according to the
-\fBprintf\fR format specification ".*f", where the '*' is replaced by the
-precision argument.
+\fBprintf\fR format specification \*(``.*f\*('',
+where the \*(``*\*('' is replaced by the precision argument.
.IP
-For details of the precision handling see \fBprintf's\fR man-page.
+For details of the precision handling see \fBprintf\fR(3).
.RE
.TP 5
TYPE_REGEXP
The routine succeeded.
.TP 5
.B E_SYSTEM_ERROR
-System error occurred (see \fBerrno\fR).
+System error occurred (see \fBerrno\fR(3)).
.SH SEE ALSO
\fBcurses\fR(3X),
\fBform\fR(3X),