cool. masih ada yang pake xdoclet. btw ini thread starter sepertinya kurang info. ini validasi untuk apa ya? yang jawab juga jadi nebak2 dan beda2. ada yg struts1.x, ada yg spring.
2009/2/3 imam baihaqi <[email protected]>: > kl pake XDoclet pake regex di validation-global.xml atau di > validator-rules.xml kl mau lebih complex, XDoclets punya konsep > bernama "merge-points", yg akan nge-merge file2 validasi yg ada. > > misalnya untuk field postalCode maka di pojonya di setternya ditambah > annotation, misalnya kita buat mandatory: > > /** > * @spring.validator type="required" > * @spring.validator type="mask" msgkey="errors.zip" > * @spring.validator-var name="mask" value="${zip}" > */ > public void setPostalCode(String postalCode) { > this.postalCode = postalCode; > } > > sedangkan di validoation-global.xml-nya kita tambahkan konstanta zip > dg pola sesuai kebutuhan, dlm hal ini input angka sebanyak 5 atau > angka, mandatory, padahal di database tersimpan sebagai String > misalnya, tp diaplikasi kita jagain agar input berupa angka sebanyak 5: > <constant> > <constant-name>zip</constant-name> > <constant-value>^\d{5}$</constant-value> > </constant> > > sedangkan untuk pesan error yg ditampilkan jika input selain angak 5, > ada di applicationResources.properties, sbb: > > errors.zip={0} is an invalid zip code. > > jadi jika inputnya 123456789 > maka muncul pesan error: "123456789 is an invalid zip code" > > sedangkan di validator-rules ternyata udah ada rule untuk mask sbb: > <validator name="mask" > classname="org.springmodules.validation.commons.FieldChecks" > method="validateMask" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.springframework.validation.Errors" > > depends="" > msg="errors.invalid"> > > <javascript><![CDATA[ > function validateMask(form) { > var isValid = true; > var focusField = null; > var i = 0; > var fields = new Array(); > oMasked = new mask(); > for (x in oMasked) { > var field = form[oMasked[x][0]]; > > if ((field.type == 'text' || > field.type == 'textarea') && > (field.value.length > 0)) { > > if (!matchPattern(field.value, > oMasked[x][2]("mask"))) { > if (i == 0) { > focusField = field; > } > fields[i++] = oMasked[x][1]; > isValid = false; > } > } > } > > if (fields.length > 0) { > focusField.focus(); > alert(fields.join('\n')); > } > return isValid; > } > > function matchPattern(value, mask) { > return mask.exec(value); > }]]> > </javascript> > > </validator> > > CMIIW!! sambil belajar lagi nih buka project appfuse yg lama ttg > validasi-nya > > --- In [email protected], sm96 <syaiful.mukh...@...> wrote: >> >> untuk validatornya sendiri, bisa dipelajari di >> http://struts.apache.org/1.2.4/userGuide/dev_validator.html >> disitu ada custom validator atau pluggable validator. kali aja butuh >> validator yg belum ada di struts, >> mesti bikin sendiri, ada contohnya disitu >> >> 2009/2/2 toni <honocor...@...>: >> > On Thu, 2009-01-29 at 18:59 +0700, sm96 wrote: >> > >> > kalo pake validator yg ada ternyata gak ada, mesti bikin validator > sendiri >> > >> > ada contoh nya mas ? >> > >> > CMIIW >> > >> > Ym / GTalk : honocoroko >> > >> >> >> >> -- >> syaiful.mukhlis >> gtalk:syaiful.mukh...@... >>

