[cvs] expresso/expresso-web/expresso/doc Validating_user_input.rtf
JCorporate Ltd
jcorp at jcorp2.servlets.net
Wed Aug 11 13:28:01 PDT 2004
Update of /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc
In directory jcorp2.servlets.net:/tmp/cvs-serv20647
Modified Files:
Validating_user_input.rtf
Log Message:
<Aucun commentaire entré>
Index: Validating_user_input.rtf
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/Validating_user_input.rtf,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Validating_user_input.rtf 20 Jul 2004 00:23:26 -0000 1.1
--- Validating_user_input.rtf 11 Aug 2004 20:27:59 -0000 1.2
***************
*** 1,10 ****
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1036\deflangfe1036{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
! {\f187\froman\fcharset238\fprq2 Times New Roman CE;}{\f188\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f190\froman\fcharset161\fprq2 Times New Roman Greek;}{\f191\froman\fcharset162\fprq2 Times New Roman Tur;}
! {\f192\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f193\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f194\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f195\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
! {\f197\fswiss\fcharset238\fprq2 Arial CE;}{\f198\fswiss\fcharset204\fprq2 Arial Cyr;}{\f200\fswiss\fcharset161\fprq2 Arial Greek;}{\f201\fswiss\fcharset162\fprq2 Arial Tur;}{\f202\fswiss\fcharset177\fprq2 Arial (Hebrew);}
! {\f203\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f204\fswiss\fcharset186\fprq2 Arial Baltic;}{\f205\fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f207\fmodern\fcharset238\fprq1 Courier New CE;}{\f208\fmodern\fcharset204\fprq1 Courier New Cyr;}
! {\f210\fmodern\fcharset161\fprq1 Courier New Greek;}{\f211\fmodern\fcharset162\fprq1 Courier New Tur;}{\f212\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f213\fmodern\fcharset178\fprq1 Courier New (Arabic);}
! {\f214\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f215\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red2\green50\blue100;}
{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 \snext0 Normal;}{
--- 1,10 ----
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1036\deflangfe1036{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
! {\f36\froman\fcharset238\fprq2 Times New Roman CE;}{\f37\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f39\froman\fcharset161\fprq2 Times New Roman Greek;}{\f40\froman\fcharset162\fprq2 Times New Roman Tur;}
! {\f41\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f42\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f44\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
! {\f46\fswiss\fcharset238\fprq2 Arial CE;}{\f47\fswiss\fcharset204\fprq2 Arial Cyr;}{\f49\fswiss\fcharset161\fprq2 Arial Greek;}{\f50\fswiss\fcharset162\fprq2 Arial Tur;}{\f51\fswiss\fcharset177\fprq2 Arial (Hebrew);}
! {\f52\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f53\fswiss\fcharset186\fprq2 Arial Baltic;}{\f54\fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f56\fmodern\fcharset238\fprq1 Courier New CE;}{\f57\fmodern\fcharset204\fprq1 Courier New Cyr;}
! {\f59\fmodern\fcharset161\fprq1 Courier New Greek;}{\f60\fmodern\fcharset162\fprq1 Courier New Tur;}{\f61\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f62\fmodern\fcharset178\fprq1 Courier New (Arabic);}
! {\f63\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f64\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red2\green50\blue100;}
{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 \snext0 Normal;}{
***************
*** 59,65 ****
{\pgp\ipgp5\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp19\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp10\itap0\li22\ri0\sb0\sa0}{\pgp\ipgp3\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li22\ri0\sb0\sa0}{\pgp\ipgp14\itap0\li22\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp
\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp24\itap0\li22\ri0\sb0\sa0}{\pgp\ipgp20\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp9\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid144970\rsid149285\rsid2830997\rsid2837187\rsid4219847\rsid5903239
! \rsid5969410\rsid5980885\rsid7943716\rsid8459379\rsid8864801\rsid8984069\rsid10772352\rsid12923032\rsid13787442}{\*\generator Microsoft Word 10.0.6612;}{\info{\title Validating user input}{\author Raul Davidovich}{\operator Raul Davidovich}
! {\creatim\yr2004\mo7\dy15\hr23\min38}{\revtim\yr2004\mo7\dy15\hr23\min38}{\version2}{\edmins0}{\nofpages12}{\nofwords2868}{\nofchars15779}{\*\company Maison}{\nofcharsws18610}{\vern16389}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1417
! \deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale148\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\rsidroot2830997 \fet0
\sectd \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
--- 59,65 ----
{\pgp\ipgp5\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp19\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp10\itap0\li22\ri0\sb0\sa0}{\pgp\ipgp3\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp23\itap0\li22\ri0\sb0\sa0}{\pgp\ipgp14\itap0\li22\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp
\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp24\itap0\li22\ri0\sb0\sa0}{\pgp\ipgp20\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp9\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid144970\rsid149285\rsid2830997\rsid2837187\rsid4219847\rsid5903239
! \rsid5969410\rsid5980885\rsid7943716\rsid8459379\rsid8864801\rsid8984069\rsid10772352\rsid12923032\rsid13051351\rsid13787442}{\*\generator Microsoft Word 10.0.6612;}{\info{\title Validating user input}{\author Raul Davidovich}{\operator Raul Davidovich}
! {\creatim\yr2004\mo7\dy15\hr23\min38}{\revtim\yr2004\mo8\dy11\hr22\min27}{\version3}{\edmins1}{\nofpages10}{\nofwords2148}{\nofchars11819}{\*\company Maison}{\nofcharsws13940}{\vern16389}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1417
! \deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale148\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\rsidroot2830997 \fet0
\sectd \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
***************
*** 102,106 ****
\par The form validation is configured in the}{\lang2057\langfe1036\langnp2057\insrsid10772352\charrsid5903239 validation.xml file as follows:}{\lang2057\langfe1036\langnp2057\insrsid13787442\charrsid5903239
\par }{\lang2057\langfe1036\langnp2057\insrsid5969410\charrsid5903239
! \par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid5969410 {\insrsid5969410\charrsid5903239
\par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid10772352 {\lang2057\langfe1036\langnp2057\insrsid10772352\charrsid5903239 <form-validation>
\par <global>
--- 102,106 ----
\par The form validation is configured in the}{\lang2057\langfe1036\langnp2057\insrsid10772352\charrsid5903239 validation.xml file as follows:}{\lang2057\langfe1036\langnp2057\insrsid13787442\charrsid5903239
\par }{\lang2057\langfe1036\langnp2057\insrsid5969410\charrsid5903239
! \par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid5969410 {\lang2057\langfe1036\langnp2057\insrsid5969410\charrsid13051351
\par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid10772352 {\lang2057\langfe1036\langnp2057\insrsid10772352\charrsid5903239 <form-validation>
\par <global>
***************
*** 161,168 ****
\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 element key attribute, and Field's }{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 <}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 arg0}{
\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 > }{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 -}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 <}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 arg3}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 >}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
! element's key attribute. The order of replacement is FormSet/Locale constants are replaced first, Global constants second, and for the }{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 <}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 arg}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 >}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 elements variables are replaced last}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 :
\par }\pard\plain \s17\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 <global>
--- 161,168 ----
\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 element key attribute, and Field's }{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 <}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 arg0}{
\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 > }{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 -}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 <}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 arg3}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 >}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 element's key attrib
! ute. The order of replacement is FormSet/Locale constants are replaced first, Global constants second, and for the }{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 <}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
! arg}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 >}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 elements variables are replaced last}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 :
!
\par }\pard\plain \s17\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 <global>
***************
*** 179,184 ****
\par <var-name>mask</var-name>
\par <var-value>$\{zip\}</var-value>
! \par }{\cs18\f0\fs24\cf1\insrsid8984069\charrsid5903239 </var>
! \par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\cf1\insrsid8984069\charrsid5903239 </field>
\par
\par }{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 The var element under a field can be used to store variables for use by a pluggable validator. These variables are available through the Field's }{
--- 179,185 ----
\par <var-name>mask</var-name>
\par <var-value>$\{zip\}</var-value>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid13051351 </var>
! \par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid13051351 </field>
\par
\par }{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 The var element under a field can be used to store variables for use by a pluggable validator. These variables are available through the Field's }{
***************
*** 206,210 ****
\par <var-value>20</var-value>
\par </var>
! \par }{\cs18\f0\fs24\cf1\insrsid8984069\charrsid5903239 </field>}{\f0\fs24\cf1\insrsid8984069\charrsid5903239
\par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12923032 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cf1\lang2057\langfe1036\langnp2057\insrsid5903239
\par }{\b\fs28\cf1\lang2057\langfe1036\langnp2057\insrsid5903239\charrsid5903239 Standard Built In Validations
--- 207,211 ----
\par <var-value>20</var-value>
\par </var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid13051351 </field>}{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid13051351
\par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12923032 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cf1\lang2057\langfe1036\langnp2057\insrsid5903239
\par }{\b\fs28\cf1\lang2057\langfe1036\langnp2057\insrsid5903239\charrsid5903239 Standard Built In Validations
***************
*** 215,225 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="name" depends="required">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="customer.name"/>
\par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
! \par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs16\b\cf1\insrsid12923032\charrsid5903239 requiredif}{
! \cf1\insrsid12923032\charrsid5903239 - field dependant validator
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\f0\fs24\cf1\insrsid12923032\charrsid5903239 Deprecated, use validwhen.
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 validwhen}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validator for checking one field against another.
--- 216,226 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="name" depends="required">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="customer.name"/>
\par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
! \par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 requiredif}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 - field dependant validator
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 Deprecated, use validwhen.
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 validwhen}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validator for checking one field against another.
***************
*** 229,252 ****
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 minlength}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validate input data isn't less than a specified minimum length. }{
! \cf1\insrsid12923032\charrsid5903239 Requires a }{\cs18\cf1\insrsid12923032\charrsid5903239 minlength}{\cf1\insrsid12923032\charrsid5903239 variable.
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="name" depends="required,minlength">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="customer.name"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="minlength" key="$\{var:minlength\}" resource="false"/>
\par <var><var-name>minlength</var-name><var-value>3</var-value></var>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 maxlength}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validate input data doesn't exceed a specified maximum length. }{
! \cf1\insrsid12923032\charrsid5903239 Requires a }{\cs18\cf1\insrsid12923032\charrsid5903239 maxlength}{\cf1\insrsid12923032\charrsid5903239 variable.
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="name" depends="required,maxlength">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="customer.name"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="maxlength" key="$\{var:maxlength\}" resource="false"/>
\par <var><var-name>maxlength</var-name><var-value>30</var-value></var>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 mask}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validate format according to a regular expression. Requires a }{
--- 230,253 ----
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 minlength}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validate input data isn't less than a specified minimum length. }{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 Requires a }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 minlength}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 variable.
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="name" depends="required,minlength">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="customer.name"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="minlength" key="$\{var:minlength\}" resource="false"/>
\par <var><var-name>minlength</var-name><var-value>3</var-value></var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 maxlength}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validate input data doesn't exceed a specified maximum length. }{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 Requires a }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 maxlength}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 variable.
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="name" depends="required,maxlength">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="customer.name"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="maxlength" key="$\{var:maxlength\}" resource="false"/>
\par <var><var-name>maxlength</var-name><var-value>30</var-value></var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 mask}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validate format according to a regular expression. Requires a }{
***************
*** 258,265 ****
\par <field property="name" depends="required,mask">
\par <msg name="mask" key="registrationForm.lastname.maskmsg"/>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="registration.name"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <var><var-name>mask</var-name><var-value>^[a-zA-Z]*$</var-value></var>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 byte}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Byte.
--- 259,266 ----
\par <field property="name" depends="required,mask">
\par <msg name="mask" key="registrationForm.lastname.maskmsg"/>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="registration.name"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <var><var-name>mask</var-name><var-value>^[a-zA-Z]*$</var-value></var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 byte}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Byte.
***************
*** 267,273 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="age" depends="byte">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="employee.age"/>
\par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 short}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Short.
--- 268,274 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="age" depends="byte">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="employee.age"/>
\par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 short}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Short.
***************
*** 275,281 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="productnumber" depends="short">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="order.prodno"/>
\par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 integer}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to an Integer.
--- 276,282 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="productnumber" depends="short">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="order.prodno"/>
\par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 integer}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to an Integer.
***************
*** 283,289 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="ordernumber" depends="integer">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="order.number"/>
\par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 long}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Long.
--- 284,290 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="ordernumber" depends="integer">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="order.number"/>
\par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 long}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Long.
***************
*** 291,297 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="ordernumber" depends="long">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="order.number"/>
\par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 float}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Float.
--- 292,298 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="ordernumber" depends="long">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="order.number"/>
\par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 float}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Float.
***************
*** 299,305 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="amount" depends="float">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="sale.amount"/>
\par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 double}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Double.
--- 300,306 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="amount" depends="float">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="sale.amount"/>
\par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 double}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Double.
***************
*** 307,313 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="amount" depends="double">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="sale.amount"/>
\par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 date}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Date. This validation rule uses }{
--- 308,314 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="amount" depends="double">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="sale.amount"/>
\par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 date}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a field can be converted to a Date. This validation rule uses }{
***************
*** 322,337 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="saledate" depends="required,date">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="myForm.saledate"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <var><var-name>datePattern</var-name><var-value>MM/dd/yyyy</var-value></var>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="saledate" depends="required,date">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="sale.orderdate"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <var><var-name>datePatternStrict</var-name><var-value>MM/dd/yyyy</var-value></var>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
! \par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs16\b\cf1\insrsid12923032\charrsid5903239 range}{
! \cf1\insrsid12923032\charrsid5903239 - validate number range.
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 Deprecated, use intRange, floatRange or doubleRange.
--- 323,338 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="saledate" depends="required,date">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="myForm.saledate"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <var><var-name>datePattern</var-name><var-value>MM/dd/yyyy</var-value></var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="saledate" depends="required,date">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="sale.orderdate"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <var><var-name>datePatternStrict</var-name><var-value>MM/dd/yyyy</var-value></var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
! \par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 range}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 - validate number range.
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 Deprecated, use intRange, floatRange or doubleRange.
***************
*** 345,355 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="age" depends="required,integer,intRange">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="employee.age"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="intRange" key="$\{var:min\}" resource="false"/>
\par <arg2 name="intRange" key="$\{var:max\}" resource="false"/>
\par <var><var-name>min</var-name><var-value>18</var-value></var>
\par <var><var-name>max</var-name><var-value>65</var-value></var>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 floatRange}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a float field is within a specified range Requires }{
--- 346,356 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="age" depends="required,integer,intRange">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="employee.age"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="intRange" key="$\{var:min\}" resource="false"/>
\par <arg2 name="intRange" key="$\{var:max\}" resource="false"/>
\par <var><var-name>min</var-name><var-value>18</var-value></var>
\par <var><var-name>max</var-name><var-value>65</var-value></var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 floatRange}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a float field is within a specified range Requires }{
***************
*** 361,371 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="ordervalue" depends="required,float,floatRange">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="order.value"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="floatRange" key="$\{var:min\}" resource="false"/>
\par <arg2 name="floatRange" key="$\{var:max\}" resource="false"/>
\par <var><var-name>min</var-name><var-value>100</var-value></var>
\par <var><var-name>max</var-name><var-value>4.99</var-value></var>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 doubleRange}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a double field is within a specified range Requires }{
--- 362,372 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="ordervalue" depends="required,float,floatRange">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="order.value"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="floatRange" key="$\{var:min\}" resource="false"/>
\par <arg2 name="floatRange" key="$\{var:max\}" resource="false"/>
\par <var><var-name>min</var-name><var-value>100</var-value></var>
\par <var><var-name>max</var-name><var-value>4.99</var-value></var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 doubleRange}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates that a double field is within a specified range Requires }{
***************
*** 377,387 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="ordervalue" depends="required,double,doubleRange">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="employee.age"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="doubleRange" key="$\{var:min\}" resource="false"/>
\par <arg2 name="doubleRange" key="$\{var:max\}" resource="false"/>
\par <var><var-name>min</var-name><var-value>100</var-value></var>
\par <var><var-name>max</var-name><var-value>4.99</var-value></var>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 creditCard}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validate credit card number format
--- 378,388 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="ordervalue" depends="required,double,doubleRange">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="employee.age"/>
\par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <arg1 name="doubleRange" key="$\{var:min\}" resource="false"/>
\par <arg2 name="doubleRange" key="$\{var:max\}" resource="false"/>
\par <var><var-name>min</var-name><var-value>100</var-value></var>
\par <var><var-name>max</var-name><var-value>4.99</var-value></var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 creditCard}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validate credit card number format
***************
*** 389,528 ****
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="name" depends="required, creditCard">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="customer.cardnumber"/>
! \par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
! \par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs16\b\cf1\insrsid12923032\charrsid5903239 email}{
! \cf1\insrsid12923032\charrsid5903239 - validate email address format
! \par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="customeremail" depends="email">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="customer.email"/>
\par </field>
! \par }{\f0\fs24\cf1\insrsid12923032\charrsid5903239
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 url}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - validates url format. Has four }{\i\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
! optional}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 variables (}{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 allowallschemes}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 , }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 allow2slashes}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 , }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 nofragments}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 and }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 schemes}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
! ) which can be used to configure this validator.
! \par }\pard \ql \li1080\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1080\itap0\pararsid5903239 {\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 allowallschemes}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 specifies whether all schemes are allowed. Valid values are }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 true}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 or }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 false}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 (default is }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 false}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 ). If this is set to }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 true}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 then the }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 schemes}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 variable is ignored.
!
! \par }{\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 allow2slashes}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 specifies whether double '/' characters are allowed. }{\cf1\insrsid12923032\charrsid5903239
! Valid values are }{\cs18\cf1\insrsid12923032\charrsid5903239 true}{\cf1\insrsid12923032\charrsid5903239 or }{\cs18\cf1\insrsid12923032\charrsid5903239 false}{\cf1\insrsid12923032\charrsid5903239 (default is }{\cs18\cf1\insrsid12923032\charrsid5903239
! false}{\cf1\insrsid12923032\charrsid5903239 ).
! \par }{\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 nofragments}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 specifies whether fragements are allowed. Valid values are }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 true}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 or }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 false}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 (default is }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 false}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 - i.e. f
! ragments are allowed).
! \par }{\cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 schemes}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
! - use to specify a comma separated list of valid schemes. If not specified then the defaults are used which are }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 http}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 , }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 https}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 and }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 ftp}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 .
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
! \par <field property="custUrl" depends="url">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="customer.url"/>
! \par </field>
! \par
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="custUrl" depends="url">
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 <arg0 key="customer.url"/>
! \par <var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <var-name>nofragments</var-name>
! \par <var-value>true</var-value>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </var>
! \par <var>
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <var-name>schemes</var-name>
! \par <var-value>http,https,telnet,file</var-value>
! \par }{\cs18\f0\fs24\cf1\insrsid12923032\charrsid5903239 </var>
\par </field>
\par }\pard \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5980885 {
\cs18\f0\fs24\cf1\insrsid5980885\charrsid5903239
! \par
! \par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \b\fs28\cf1\lang2057\langfe1036\langnp2057\insrsid5903239\charrsid5903239 Designing Complex Validations with valid when
! \par }{\cf1\lang2057\langfe1036\langnp2057\insrsid5903239\charrsid5903239 }{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! [Since Struts 1.2.0] A frequent requirement in validation design is to validate one field against another (for example, if you
! have asked the user to type in a password twice for confirmation, to make sure that the values match.) In addition, there are fields in a form that may only be required if other fields have certain values. The }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 validwhen}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 validation rule is designed to handle these cases.
! \par The }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 validwhen}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 rule takes a single }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 var}
! {\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 field, called }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 test}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! . The value of this var is a boolean expression which must be true in order for the validation to success. }{\cf1\insrsid8984069\charrsid5903239 The values which are allowed in the expression are:
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ql \fi-360\li742\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
! \jclisttab\tx720\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin742\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 Single or double-quoted string literals.
!
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Integer literals in decimal, hex or octal format
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}The value }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 null}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 which will match against either null or an empty string
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Other fields in the form referenced by field name, such as }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 customerAge}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Indexed fields in the form referenced by an explicit integer, such as }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 childLastName[2]}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Indexed fields in the form referenced by an implicit integer, such as }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 childLastName[]}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 , which will use the same index into the array as the index of the field being tested.
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Properties of an indexed fields in the form referenced by an explicit or implicit integer, such as }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 child[].lastName}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 , which will use the same index into the array as the index of the field being tested.
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}The literal }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 *this}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 , which contains the value of the field currently being tested
! \par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 As an example of how this would work, consider a form with fields }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 sendNewsletter}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 and }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 emailAddress}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 . The }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 emailAddress}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 field is only required if the }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 sendNewsletter}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 field is not null. You could code this using the validwhen rule as:
! \par }\pard\plain \s17\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par <field property="emailAddress" depends="validwhen">
! \par <arg0 key="userinfo.emailAddress.label"/>
! \par <var>
! \par <var-name>test</var-name>
! \par <var-value>((sendNewsletter == null) or (*this* != null))</var-value>
! \par </var>
! \par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 Which reads as: this field is valid if }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 sendNewsletter}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 is }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 null}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 or the field value is not }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 null}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 .
! \par Here's a slightly more complicated example using indexed fields. Assume a form with a number of lines to allow the user to enter part numbers and quantities they wish to order. An array of beans of class }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 orderLine}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! is used to hold the entries in a property called orderLines. If you wished to verify that every line with part number also had a quantity entered, you could do it with:
! \par }\pard\plain \s17\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par <field property="quantity" indexedListProperty="orderLines" depends="validwhen">
! \par <arg0 key="orderform.quantity.label"/>
! \par <var>
! \par <var-name>test</var-name>
! \par <var-value>((orderLines[].partNumber == null) or (*this* != null))</var-value>
! \par </var>
! \par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 Which reads as: This field is value if the corresponding }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 partNumber }{
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 field is }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 null}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 , or this field is not }{
! \cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 null}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 .
! \par As a final example, imagine a form where the user must enter their height in inches, and if they are under 60 inches in height, it is an error to have checked off nbaPointGuard as a career.
! \par }\pard\plain \s17\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par <field property="nbaPointGuard" depends="validwhen">
! \par <arg0 key="careers.nbaPointGuard.label"/>
! \par <var>
! \par <var-name>test</var-name>
! \par <var-value>((heightInInches >= 60) or (*this* == null))</var-value>
! \par </var>
! \par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par }\pard\plain \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 A few quick notes on the grammer.
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ql \fi-360\li742\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
! \jclisttab\tx720\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin742\itap0\pararsid8984069 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! All comparisons must be enclosed in parens.
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Only two items may be joined with }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 and}{
! \cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 or }{\cs18\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 or}{\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239
! \par {\listtext\pard\plain\f3\fs20\cf1\lang2057\langfe1036\langnp2057\insrsid8984069\charrsid5903239 \loch\af3\dbch\af0\hich\f3 \'b7\tab}If both items to be compared are convertable to ints, a numeric comparison is done, otherwise a string comparison is done.
!
! \par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid5980885 {\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid5903239 \page }{\i\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid4219847
Once the plugin is set up and the form validation is configured, we can start validating our forms.
\par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid10772352 {\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid5903239
--- 390,407 ----
\f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239
\par <field property="name" depends="required, creditCard">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="customer.cardnumber"/>
\par </field>
! \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard\plain \ql \li360\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {
! \cs16\b\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 email}{\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 - validate email address format
\par }\pard\plain \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5903239
! \f2\fs20\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid5903239 <field property="customeremail" depends="email">
! \par }{\cs18\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351 <arg0 key="customer.email"/>
\par </field>
+ \par }{\f0\fs24\cf1\lang2057\langfe1036\langnp2057\insrsid12923032\charrsid13051351
\par }\pard \s17\ql \li360\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid5980885 {
\cs18\f0\fs24\cf1\insrsid5980885\charrsid5903239
! \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid5980885 \fs24\lang1036\langfe1036\cgrid\langnp1036\langfenp1036 {\i\lang2057\langfe1036\langnp2057\insrsid13051351 \page }{\i\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid4219847
Once the plugin is set up and the form validation is configured, we can start validating our forms.
\par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid10772352 {\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid5903239
***************
*** 533,538 ****
\par }{\lang2057\langfe1036\langnp2057\insrsid144970\charrsid5903239
\par }{\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid5903239 Manual validation is very simple.
! \par If you\rquote re using external states, you simply call myStateForm.validate(ControllerRequest request) in your handle state, and the method will return an ErrorCollection with the faile
! d validation messages (or empty if the form passed all the validations):
\par
\par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid5980885 {\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid5903239 public class MyHandleState
--- 412,417 ----
\par }{\lang2057\langfe1036\langnp2057\insrsid144970\charrsid5903239
\par }{\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid5903239 Manual validation is very simple.
! \par If you\rquote re using external states, you simply call myStateForm.validate(Cont
! rollerRequest request) in your handle state, and the method will return an ErrorCollection with the failed validation messages (or empty if the form passed all the validations):
\par
\par }\pard \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0\pararsid5980885 {\lang2057\langfe1036\langnp2057\insrsid5980885\charrsid5903239 public class MyHandleState
More information about the cvs
mailing list