.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_field_validation.3x,v 1.47 2023/09/30 21:38:11 tom Exp $
-.TH form_field_validation 3X 2023-09-30 "ncurses 6.4" "Library calls"
-.ie \n(.g .ds `` \(lq
-.el .ds `` ``
-.ie \n(.g .ds '' \(rq
-.el .ds '' ''
+.\" $Id: form_field_validation.3x,v 1.48 2023/10/07 21:19:07 tom Exp $
+.TH form_field_validation 3X 2023-10-07 "ncurses 6.4" "Library calls"
+.ie \n(.g \{\
+.ds `` \(lq
+.ds '' \(rq
+.\}
+.el \{\
+.ie t .ds `` ``
+.el .ds `` ""
+.ie t .ds '' ''
+.el .ds '' ""
+.\}
+.
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
\fBform_field_validation\fP \-
data type validation for fields
.SH SYNOPSIS
-\fB#include <form.h>\fP
-.sp
-\fBvoid *field_arg(const FIELD *\fIfield\fB);\fR
-.br
-\fBFIELDTYPE *field_type(const FIELD *\fIfield\fB);\fR
-.br
-\fBint set_field_type(FIELD *\fIfield\fB, FIELDTYPE *\fItype\fB, ...);\fR
-.sp
-/* predefined field types */
-.br
-\fBFIELDTYPE *TYPE_ALNUM;\fP
-.br
-\fBFIELDTYPE *TYPE_ALPHA;\fP
-.br
-\fBFIELDTYPE *TYPE_ENUM;\fP
-.br
-\fBFIELDTYPE *TYPE_INTEGER;\fP
-.br
-\fBFIELDTYPE *TYPE_NUMERIC;\fP
-.br
-\fBFIELDTYPE *TYPE_REGEXP;\fP
-.br
-\fBFIELDTYPE *TYPE_IPV4;\fP
+.nf
+\fB#include <form.h>
+.PP
+\fBvoid *field_arg(const FIELD *\fIfield\fP);
+\fBFIELDTYPE *field_type(const FIELD *\fIfield\fP);
+\fBint set_field_type(FIELD *\fIfield\fP, FIELDTYPE *\fItype\fP, ...);
+.PP
+\fI/* predefined field types */\fP
+\fBFIELDTYPE *TYPE_ALNUM;
+\fBFIELDTYPE *TYPE_ALPHA;
+\fBFIELDTYPE *TYPE_ENUM;
+\fBFIELDTYPE *TYPE_INTEGER;
+\fBFIELDTYPE *TYPE_NUMERIC;
+\fBFIELDTYPE *TYPE_REGEXP;
+\fBFIELDTYPE *TYPE_IPV4;
+.fi
.SH DESCRIPTION
By default, no validation is done on form fields.
You can associate a form with with a \fIfield type\fP,