From 5c62b3a7be710a2bdddbf41a4e141890941b5b5d Mon Sep 17 00:00:00 2001 From: Jeff Potter Date: Wed, 26 Nov 2014 00:42:20 -0700 Subject: [PATCH] updating readme 2 --- README.md | 12 ++++++------ .../UserInterfaceState.xcuserstate | Bin 22265 -> 22299 bytes 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e7f5a90..7d0d62e 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,9 @@ Register the fields that you want to validate var fields:[String] = ["FullName", "Email", "Phone"] // Validation Rules are evaluated from left to right. The first rule is ValidationRuleType.Required the second is ValidationRuleType.FullName. -validator.registerField(fields[0], textField:nameTextField, rules: [.Required, .FullName]) -validator.registerField(fields[1], textField:emailTextField, rules: [.Required, .Email]) -validator.registerField(fields[2], textField:phoneTextField, rules: [.Required, .PhoneNumber]) +validator.registerFieldByKey(fields[0], textField:nameTextField, rules: [.Required, .FullName]) +validator.registerFieldByKey(fields[1], textField:emailTextField, rules: [.Required, .Email]) +validator.registerFieldByKe(fields[2], textField:phoneTextField, rules: [.Required, .PhoneNumber]) ``` @@ -44,7 +44,7 @@ Validate Individual Field ```swift -validator.validateFieldBy(fields[0], delegate:self) +validator.validateFieldByKey(fields[0], delegate:self) // ValidationFieldDelegate methods func validationFieldSuccess(key:String, validField:UITextField){ @@ -61,11 +61,11 @@ Validate All Fields ```swift -validator.validateAllBy(fields, delegate:self) +validator.validateAllKeys(delegate:self) // ValidationDelegate methods -func validationWasSuccessful(successfulFields:[String:ValidationRule]) { +func validationWasSuccessful() { // submit the form } diff --git a/Validator.xcodeproj/project.xcworkspace/xcuserdata/jpotts18.xcuserdatad/UserInterfaceState.xcuserstate b/Validator.xcodeproj/project.xcworkspace/xcuserdata/jpotts18.xcuserdatad/UserInterfaceState.xcuserstate index 86c7fcc6faeaeeb7b9664a62de7201bce87c60f0..3bfb04b9c1dafc5d72ddc88d51514a554cf10d14 100644 GIT binary patch delta 7431 zcmbW5XM9t)7xyjaN;jU_Cf+MC#C9Cpal9Qn@nUsR_6mW7Rb~h)h1!Cay$vZ)3M7QE z_ujM2ls(HTyFh`mM=5=-33NUG7tiPMi#v36q@#1b`bqMuW#GHzU=lB;2ibEyNVwAnixZjCB_kxh^fRhVg@mjm`%(f<`GrILSiYgidaW%BDN8Gh`q!i;xKWV zI76Hz&Jh=h2gF0-H{ucTn0P`wC7uz_Asxm*0z$}wiI4{cPy!WD3G2doFau^n12jTA zbU-I`K|c(@Ap8tAgRMfa9c&M~!XEG|I0lY|mZfGgoDxDIZD zo8dmVA0B`Q;URbio`vV&dH56j8Qz5V;RE;({stexSMW9b9RWl~2(b|dB_aV5A`wbM z=}3jN$bf9fjvUB~eCSj3845K)pQEOz2oy+KG0d-RKxPj!vMH=oC7QenJ<}6?7BbLif=l^cX!y zFVIW$hNO{zq?0iuK|)eUibydjA*G~DPs&LJsU*|Lx}=)SB=uxAX(QcakgQKOAU`9U zke`!n$hKrVvY6~lb|Jg2nL{i|irdohX!{MVzcgC4GJ_@Cyry;PM!H~2mtzatwf@p# zjux6MLtB4o$j&iQFF9+p!cB2f4N!u5Knvuw&p}sr=KLgAx6+x#7JTkF}ihwqT*hq-8y$GE@{@FS5fgG3|d88wp3O;{RFLm)`1vL zOo#*w(wItOV#H@qrq$X`rlk?1F=!WctIg*)SVY`8&S+6 zVsWItF%v9_3@|#fmeE=heQ3jJt!cwC=n@S@*D&n_jY$n_HEn1`G#*XE>9wt`CpJWW zHfm!wQmy@LR5NNzHxpYTJ+oERxVA>V$kr!pCw9`b6~qnnk59L1nF27NH-JC8U{4f-SoCDHJV zjVMe-9nMF+`U!)6RQ%uDULtPNvTNqG@7!$c=S{`~qyrCslfoY%|d<&+B2ZjfQ z2Zzh5h(Cz8G&Q7xG!%oc!qg=czN5_BoW7;YaofWG3G&d>L_eaGie`Ue07Q@^1`}np zGz>;!fGNB%XdbTnF5Hk!8(IZ9kPG8rK|BT&Yg9(Q#^9U(fcDN)D)((Zkn%5tJ`}#g z2ZMrlT)i)Z(prQ@L=jT{2ce_^wUebduSbtY#e@6RE3juoCXv#}Dl@On+%PRHq;RYC zR7a%%W??Wca@i~wW29qNKi$9bL^P=C~(1XDg3?h{< zA9^vEiouMqrd3{#(&Ca{g{8&+qyg54jsFJ?@FQ9p`~-t((LsG1zEkT>6Ix9L{2YVw zu;)DxusLi&)6Sh6)=)LrG!|?ft5;n@d8hz(`d^I~QH@iy&x|&{3TO8JWa5@CP{$I?&Z{P@uISSD4 zF_;}?ZcgN|RTG*3Cw^dQ0R|QSW@&1arD?Dneha5#P>I1j45~1g|Nnq$uPzzHv1rsj;F0B=$h5r?#$V;2G&eB?Z7S<+geKe*UFjyK1+7($_ASD-7a4Xyf zw?j%amSeC2gOwPps)D=V?wE6MF9xeIpbV()cSWY#J%YpVSk$Hl{s@o2qZq8gU@Zpg zFjyaXY@gET0=z_NO$;M^tpZ-gVBRt@94Rn3j6qHKPCzg;t;od0xTMivZ?VQ@Tr=ToI;Sf77+L)4X^z?Gg{a1BAYDgs(1yB&xM-4DIjlmfV&SG$`3N=EF(MRZG49;Wl0Mn^e zK0fls6?Qj6ZE4zS)Eu=yEm14f8c`FSS|2W8a1nz`7*GUUsYdNkdsIMEqe2=r%AYZ~ zgTdYCWcoF-C3k)33)GXASb=(AaJ2&U!rAy&ZWLCWdVeklp#~3`p;Au56st#I8OQXWM zA{x%t7(AmkRzoqJ8@cV7FWiK-Mt$FmwqWoagBO)(8`_S+OHAiP7UVUz>_G=6f^}of&n$D-cs8(D%-S(DSs*J4DDbgIvYc+ zC4WZlK}YrZfN2Nc7;H!qH)*-20XH-F6KX#r6Mp{BWf%QX+YT$z!uM4HiO6`Gb`eRUg(QPyk}Q%yYnoJ~<$YkoyBkNFCel*&AOc!9fF#0IMbaC`9iJ1IH zLg}=FbHjP>)RwIGk7o_7W^UM1Tdw;@x#8XOdwxh0NiFEL@=01SUG`oQNIR`&9_b*R zqzlvKn4X5|b^p=@(nEUxn&@$xqasTBNI#}4FkKm$6i^8pk{|t5q4xX7|lx*>z?=8tzm|hRlGa{UzD!x5gNI^vwkR32xgX!9cH#n2pvtJHMVtSFiBYy_# zger&y#9Cr2v7g#Ro}^BGXQ@-)Wokosop=r9PzSx#IW7nrz((*R_z88I`BT7s6L6=)T8 zw%U#MQWzgVheD_Z9ifg^C#Z~?$!_EnatnDYRu-EXtB*Ct=EPcJZLxvak7HZMwvBBc z+aY#M?AF-*vBzT1#9oNK5&J0iErZ6OGYAG^#4?zSIt)HT$PhE63^_x|NN40R+A+Rk ztYDmGJYc+Fyk@*%yk#<&iA(`g%B;_9$ZWw3wPvwDH>)>77T)=JhBHjPcP8Eh7t!%k-N*r{v*Tf}y;+p{ry40~*dJ)T|8 zp27Z({XM&yy@0)ly_&s?eSm$OeVKieeUC%u#BmZi$(%YIK1ax@$5C^%935vEXCh}7 zXEtXpr;<~}spc%?tmACpY~pO;Y~$?U?BeX<+~hpqJmNgzJmb>19Bv{vnakq}xni!A zE9W}6O}GWz4%|X+C$6Orw=cJZTgn~69nGD>oyslePUp_#&g0JKF5oWWF5xcYuIKLI z)^Lw@p-)I5Tlp;_Sq^iH{QBCef1UNkr0TN$rz5By~(GN?Mw!OYx@oQ@%~9N?De&B4t&|nv``Z z+f#O?>`vL6vM=R8%5@%-m&)_-8t|I%KIgUNb>o%rN_hi#gLq}U;k<8nBYC5FV|n9w z<-9q(g}imVoxI(=y}W(A1H41L)4a31^SleZ&?Vj#-c{Z`-c#P&IQ1en z`dMn*)Z)~V)Gt$qriM~+>hRQYsS{EsrA|qmnp&Q^D)n6IEk2iDhcDx2@XdTTKacO_ z`}slsr~D@Tru^pomi*TIPW&GH{`_J5vHbD;iTug@2!9rTHh(U^l3&HI=C9yy;_nRc zf8?LxpX2|;zsSGLzsi(1;v6cf^LE@1U&@<1cL-+f+2#h1YyBw!4$z9!9u}e!BW9;!AijA;JM(X;I$z1MhJzZkRfCVIl?$$s!%D^2^~V8Fd(ciY$$9jY$j|W zY$a?XY$q%bb`|y&mI+4+CkdwrrwYr3(}fkndBXX^1;RzbCBn7BZNfvslfu)&v%>Sj z3&I=1Tf$$2cZI(S9|&KFXd;e?CrT9wL?V$yR9BQC(ugueSs{@@WEXiwjYX|Q9YsZ= z&Z4fO?xKF8{-S}R!J;okLq#J*6GgK`b3_%QDp9p)p=h0GgJ_dziFoFqY#BuSAdBxw?rq@F}A(Mog@y~HbNC+Q;@A{ir@F4-vACD|?6D>*JXB{?HG zFS#JOBzY)#DS0LNT}nt9(nM*JG)1bADy3;sl{8ywlIBP)QlB&^Z6Iwd{aE^`w4Jm- zS}5%#t(LBlZk2AA?v(D9?v?&1JsOf8m!6cKmY$W-Wd>OX*=Sk0Y=-PR*=*TdS*2{f zY=>;GY@h6a?2zoN?4s}T0c*=^Y!**)1SIa{um+vNH3puDNPmAs9-oxG#GNZwiA zRo+crA|ENAB#+3a$-k8^l&_X=l^>8FlGn(O$d4(K6e2~2LZ{FxjEay&VN*C1E`?9g zNYO#jUC~bwQOs0qRvc4YQe0MCQCw9#P&`sRQ9M_?RJ>NkDif7brBP{8nw3_iLz%10 zQ~H!aWkY2yK~zEWY;*Qyb!iK;28S*k^^UkBx88Sq>S$~=4Q;xsLoiFu{2{v#@37-8M`xn$T*O3IO9mhv5aSG zf!e3;r5>mrtRAKwqmHP{)pOL<>LuzO>Rsx?>Qm~o>htOg>Kp18>R0OD)qkk})BsJ4 z25LwRBcx$zQZ*SGttLxj)Z}Qa8iyuVlc#B-X{KqZX`^YUDbRG(6lpqZx@rb$HfkEuL2ZrpsP=^RwDz3#zV8TOYQI4x0xU_ zCKF}GW->E*nHiau%r2Q_nTs;lXCBNvml=Abi_yjF(slK88l6sO(3x}=on7bBd30V~ zOI;gXdtITfldf3TMb}-|Q`bjVqAS&fbklV!blY^NbXRoGvQo3OS?;V)vx>7qSu?Y~ z&zh4}nKeIad)EG}BUwLX{h?>*S$eKML7%M8&^z^w^zHR!`l0%;ez<;wepE=mS-(eL zqd%%Yp+BuZr~gTRTmM-9QvbXDtpOO43@HYQ!DYxd6dHON`WpHf1{lf=BMoB=;|voG zGYr*+MTRAY<%W%h9}EW!hYdd(Q;ZU$$!IfvVr*#~ZX9J?W2`YAH6AyfGM+JBFZ) zrn{#5rr%6YOwUa(b6`$FjyA`W(>A9pXGG4doJBdSbJpgp&)FEt*_^W{XJ5|2oWnUs za*pMk&$*HF&`g*~Gt!PS3UigY+Pu|#)BM={)coB1%0jn5ORR-yky~_@Y>U}qv*cRx zEIv!X5^8E0V!@UPmWZX?GQ%?4QemmGR9jYB)>(F24q9p~M=d8T=Peg4mn~N<*Db$V z9$Fq-o?3yGZjG@*E7zJ}O}6r^nO3_s&+4-VtqrZ8S({p$TU%M%Sc|M(tlh0Wtb?ti ztYfVctdp%%t>0Q_TEDk0wXU$Pwyv{o3|Y5Ww_A5v_gIfv&s#58FIlfxuUhX~?^}Pf zKDIuyzOd13Ok1)o!=|-m*^IUvo5kj_HLx|dePU~3Yi4U0&#kOU(4Ys|u{kB848hf(cYWLfN_6GLG_Gb2$_BQr*_E3NOF#A~h z1p8$BRQtE~x%PSXYWpJlQu}iI2K!O_Pxc%3NA}nDKO8hii~~9190`sjM~b74gYU37 znmPtLCON)$%ym>c<~tTT7CY8BHafOAwmWt@esr90oOYaZTyp&ExbC>=c;ZCPIA^Le z-KlnFI`z&Rr`73jxwxR9 z>xk=^>%8lh>!Ith>zV7N>-StDm&|46a&qHy6LWKNo91@S9hEyRw=#Er?!w$9xyy4` z<*v=$mAf~0f9|2&n%twg$8%5S-pzgGX1TN6?cGD&W8CB2liU$^xqG^Mv3rAivwNF+ zr+bh42lvsC`=a~0`(()6X-&GsyFeXM|^@XSAo>Gs82>Gsjcusq(DytoE$&tn=*l9QB;=oc5gaT<~1> zT=hKgJn}sCJomix{OAPS@hRDpT{L%rJJ>k*S+HraMX+tKeXv8Y sV=x@74BiVq4ZaAz4!)_+t)En%|L)%}8l7HyPb6#qJ*$1AuJwig2WZ(fKmY&$ delta 7420 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 GoBSW2;wk9>