PrimeFaces Dersleri : KeyFilter Kullanımı
PrimeFaces Dersleri‘ne kaldığımız yerden devam ediyoruz. Bu yazıda KeyFilter’in kullanımına bakacağız.
PrimeFaces 6.0’dan önce PrimeFaces Extensions paketinde yer alan KeyFilter, PrimeFaces 6.0 ‘da ana pakete yer almıştır. PrimeFaces kullananların oldukça tercihi olan KeyFilter birçok regex derdinden bizi kurtarmaktadır.
KeyFilter input alanlarımıza belirli bir kural dahilinde giriş yapılmasını sağlamaktadır.
Kullanımı ise
<p:keyFilter for="ilgili_alan_id" mask="istenilen_format" />
Kullanımı gayet basit. İsterseniz JSF <h: /> etiketine sahip alanlara isterseniz de <p: /> etiketlerine uygulayabilmekteseniz. İllaki primefaces etiketlerinde kullanılacak diye bir zorunluluğu bulunmamaktadır. for ile hangi alanda için kullanacaksanız o alanın id’sini yazarak kontrol altına alabiliyorsunuz. mask ise hangi formatta kullanılacağını belirleyebildiğimiz regex kuralıdır. Bu kurallar aşağıdaki gibidir.
pint | /[\d]/ |
int | /[\d\-]/ |
pnum | /[\d\.]/ |
money | /[\d\.\s,] |
num | /[\d\-\.]/ |
hex | /[0-9a-f]/i |
/[a-z0-9_\.\-@]/i | |
alpha | /[a-z_]/i |
alphanum | /[a-z0-9_]/i |
Sıra ile hepsine bakalım.
Adından genellikle ne yaptığı anlaşılsada görsel olarak da payalaşmak istedim. Keyfilter’in mask alanına yukarıdaki tablodaki isimleri girerek veri giriş alanlarının regexlerini tanımlamış oluyorsunuz. Bunu kod ortamında nasıl yaptık dersek.
<h:panelGrid columns="2"> <h:outputText value="Pint"/> <p:inputText id="t1" /> <h:outputText value="Int"/> <p:inputText id="t2" /> <h:outputText value="Pnum"/> <p:inputText id="t3" /> <h:outputText value="Money"/> <p:inputText id="t4" /> <h:outputText value="Num"/> <p:inputText id="t5" /> <h:outputText value="Hex"/> <p:inputText id="t6" /> <h:outputText value="Email"/> <p:inputText id="t7" /> <h:outputText value="Alpha"/> <p:inputText id="t8" /> <h:outputText value="Alphanum"/> <p:inputText id="t9" /> <p:keyFilter for="t1" mask="pint" /> <p:keyFilter for="t2" mask="int" /> <p:keyFilter for="t3" mask="pnum" /> <p:keyFilter for="t4" mask="money" /> <p:keyFilter for="t5" mask="num" /> <p:keyFilter for="t6" mask="hex" /> <p:keyFilter for="t7" mask="email" /> <p:keyFilter for="t8" mask="alpha" /> <p:keyFilter for="t9" mask="alphanum" /> </h:panelGrid>
Eğer hazır regex tanımlamaları size yeterli gelmiyorsa kendi regex kuralınızı yapabilirsiniz. Şöyleki;
<p:inputText id="t10"> <p:keyFilter regEx="/[ABC]/i"/> </p:inputText>
Sadece “ABC” ya da “abc” harfleri girilmesine izin verir.
PrimeFaces Keyfilter kullanımı bu şekilde. PrimeFaces Dersleri devam edecek.
Güzel kodlamalar.
No Comment! Be the first one.