1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="vspx_validator">
<refmeta>
<refentrytitle>vspx_validator</refentrytitle>
<refmiscinfo>vspx_control</refmiscinfo>
</refmeta>
<refnamediv>
<refname>vspx_validator</refname>
<refpurpose>validation a text field or form data</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="syn_vspx_validator">
<funcprototype id="proto_vspx_validator">
<funcdef>
<function>validator</function>
</funcdef>
<attributes>
<attribute>name (required) </attribute>
<attribute>annotation (optional) </attribute>
<attribute>initial-enable (optional) </attribute>
<attribute>test (required) </attribute>
<attribute>min (optional) </attribute>
<attribute>max (optional) </attribute>
<attribute>regexp (optional) </attribute>
<attribute>empty-allowed (optional) </attribute>
<attribute>message (required) </attribute>
</attributes>
<childs />
<class>
<screen><![CDATA[
-- Generic Validation Class
create type vspx_validator
as
(
vv_format varchar,
vv_test varchar,
vv_expr varchar,
vv_message varchar,
vv_empty_allowed int default 0
) temporary self as ref
;
-- Range Validation Class
create type vspx_range_validator under vspx_validator
as
(
vr_min any,
vr_max any
) temporary self as ref
method vv_validate (control vspx_control) returns any
;
]]>
</screen>
</class>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_vspx_validator">
<title>Description</title>
<para>
<function>vspx_validator</function>validator that is applied to user input.
the validator objects are invoked when the element's control gets posted. the validator elements only make sense inside field or form types of controls. the validators are invoked in the order given, and the first one to fail stops the invocation chain, so that no later ones are attempted.
furthermore the vc_is_valid member of the containing page class will be reset to false (0) to stop further processing. see also error-summary element and error-glyph attribute of field element.
</para>
</refsect1>
<refsect1 id="attrs_vspx_validator">
<title>Attributes</title>
<refsect2>
<title>name</title>
<para>A unique name identifying the control.</para>
</refsect2>
<refsect2>
<title>annotation</title>
<para>A human readable comment.</para>
</refsect2>
<refsect2>
<title>initial-enable</title>
<para>Designates is control visible or not initially. Could be data-bound to an SQL expression.</para>
</refsect2>
<refsect2>
<title>test</title>
<para>The type of test to be performed, can be 'length', 'value', 'regexp' or 'sql'. (TBD based on vspx_validators.txt)
</para>
</refsect2>
<refsect2>
<title>min</title>
<para>A lower limit in value and length tests
</para>
</refsect2>
<refsect2>
<title>max</title>
<para>The upper limit for value and length tests
</para>
</refsect2>
<refsect2>
<title>regexp</title>
<para>The REGEXP pattern to match field value
</para>
</refsect2>
<refsect2>
<title>empty-allowed</title>
<para>If specified as true (1) this will allow submitting a empty fields
</para>
</refsect2>
<refsect2>
<title>message</title>
<para>The error-message to be shown when validation process fails
</para>
</refsect2>
</refsect1>
<refsect1 id="childs_vspx_validator">
<title>Children</title>
</refsect1>
<refsect1 id="examples_vspx_validator">
<title>Examples</title>
<example id="ex_vspx_validator">
<title>Simple example</title>
<para>This is to validate a text area input
</para>
<screen><![CDATA[
<v:textarea name="ta1" default="enter your text here" value="--coalesce ({?'ta1'}, control.ufl_value)">
<v:validator test="length" min="0" max="50" message="50 chars at max." />
</v:textarea>
]]>
</screen>
</example>
</refsect1>
</refentry>
|