File: vspx_validator.xml

package info (click to toggle)
virtuoso-opensource 7.2.5.1%2Bdfsg1-0.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 285,240 kB
  • sloc: ansic: 641,220; sql: 490,413; xml: 269,570; java: 83,893; javascript: 79,900; cpp: 36,927; sh: 31,653; cs: 25,702; php: 12,690; yacc: 10,227; lex: 7,601; makefile: 7,129; jsp: 4,523; awk: 1,697; perl: 1,013; ruby: 1,003; python: 326
file content (154 lines) | stat: -rw-r--r-- 4,995 bytes parent folder | download | duplicates (2)
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&#39;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 &#39;length&#39;, &#39;value&#39;,  &#39;regexp&#39; or &#39;sql&#39;. (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>