Konuyu görüntüle
IUCODERS FORUM > Programlama > Web & Grafik Tasarımı > javaScript ile validation yapma
Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
15.06.2009-03:40 #61163
Bir JSF projesinde text e girilen verileri kaydet butonuna bastıktan sonra veri tabanına kaydediyorum. Ama JSF nin required sorunundan dolayı Validation yaparak messagebox la uyarı yapamıyorum. JavaScript ile bir textbox a veri girilmemisse mesela onu kontol edip mesaj verdirmek istiyorum. Bu sorunla ilgili eminim bircogunuz karsılasmıssınızdır. Yardım edebilir misiniz ? Daha yeni ögrenıyorum da javaScript.chickenchicken





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
blackout


avatar

Kayıt: 11.12.2008
15.06.2009-04:57 #61165
Söz konusu formun onsubmit eventine form elementlerini kontrol eden bir fonksiyon bağlayabilirsin.

En basit haliyle şöyle bir örnek işini görür:
<script type="text/javascript">
function CheckForm() {
     if(document.formInsert.aciklama.value == "") {
          window.alert("Lütfen alanı boş bırakmayınız!");
          return false;
     }
     return true;
}
</script>

<form name="formInsert" method="POST" action="x_insert.jsf" onsubmit="return CheckForm()">
     <textarea name="aciklama" rows="5" cols="50"></textarea>
     <input type="submit" value="Kaydet" />
</form>


Kolay gelsin...





Yazar
thesilver


avatar
Yalova
Kayıt: 13.02.2006
15.06.2009-05:06 #61166
Yalnız eger js deaktif edilirse eski sorun aynen devam eder. jsf kontrol et sen yine de wink





Those were the days guys, those were the days...








Yazar
safter


avatar

Kayıt: 18.04.2006
15.06.2009-10:56 #61168
en son raysigortaya yazdıgım www.rayexpress.com projesi için kullanıdığım koddan bi parca vereyim

<-bunu ekle->

xmlns:koylu="http://www.koylu.org"

<-bunu kullan->

<koylu:jsfValidator name="ignore" mask="#" message="Lütfen poliçe durumunu seçiniz"/>





q
Yazar
dotnetonur


avatar
Dersaadet
Kayıt: 21.11.2007
15.06.2009-11:18 #61169
Validation islemlerini client-side olarak (JS) yapmak guvenlik acisindan riskli durumlar olusturmakta.. ki zaten cok esnek bir yapi degil; JS de-aktif ise calismaz, browserlara göre render metotlarinda farkliliklar vardir, hic yokta FireBug vs. gibi add-on`lar ile devre disi birakilabilir vs.

En iyisi custom validation olayi :)





Ortam sanal olsa da, islenen suc gercektir...

Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
15.06.2009-12:13 #61171
<h:form> </h:form> arasına almam gerek <form></form> yaptıgım zaman olmuyor. Normal e sadece bir buton click yapıldıgında alert ile mesaj yazdırdıgımda sorun yok . Ama ben
var name = document.getElementById("adText").value;

olarak textboxtakı veriyi aldıgımda calısmıyor. Butona bastıgım da hıc bırsey calısmıyor.? Bu neden oluyor. Bazı sitelerde. h:commandButton un attribute ı olan onclick="validate()" yaptıgımda olacagını soyluyor. Bazılarında ise form içinde onsubmit="return validate()" olur diyor. Cıkamadım içindenthinking





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
blackout


avatar

Kayıt: 11.12.2008
15.06.2009-12:59 #61172
canial yazdi
 
...
Bazı sitelerde. h:commandButton un attribute ı olan onclick="validate()" yaptıgımda olacagını soyluyor. Bazılarında ise form içinde onsubmit="return validate()" olur diyor. Cıkamadım içindenthinking

İkisi farklı şey ve "biri çalışır diğeri çalışmaz" diye bir şey yok. return kullandığında fonksiyondan dönen değer eventin gerçekleşip gerçekleşmeyeceğini belirler.

Örneğin onlick="return false" dersen click eventi gerçekleşmez. Fakat onlick="return fonk()" dersen click eventinin gerçekleşip gerçekleşmeyeceğini fonk() fonksiyonunun dönüş değerine göre kontrol altında tutabilirsin. Yani orada return kullanıp kullanmamam tamamen senin nasıl bir kotrol yapısı planladığına bağlı.

Kodun çalışmıyorsa firefox'un hata konsoluyla hataları kontrol edebilirsin. Hiç hata almıyorsan debug yap.

Diğer arkadaşların da dediği gibi işini tamamen javascript'e emanet etmemen gerekir. Sunucu taraflı kontrol kesinlikle gereklidir.





Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
15.06.2009-13:25 #61174
Boyle bı kodum var ama ben submit butonuna basınca hıc bı alert vermeden basarılı sayfasına gecıyor confused
    <script language="javaScript1.2">
                function validate()
                {
                    var as = document.getElementById("adText");
                    if(as.value.lenght == 0){
                        alert("olmadi");
                        return false;
                    }
                    return true ;
                }
            </script>
        </head>
        <body>
            <h:form>
                adı:<h:inputText id="adText" />
                <h:commandButton value="Submit"  onclick="validate()"  action="basarili" />
            </h:form>


edit : lenght length olacaktı ama yine bi sey degısmedı





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
blackout


avatar

Kayıt: 11.12.2008
15.06.2009-13:50 #61176
Başarılı sayfasına gitmesi normal çünkü bu kodda onclick="return validate()" kullanman gerekiyor. Fakat hiç alert vermemesinin başka bir nedeni olmalı. Bu verdiğin kodun output'unu (html) buraya yazabilir misin?





Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
15.06.2009-14:11 #61180
Ya bu kod <input></input> kullanıldıgında sorunsuz calısıyor. Ama ben JSF de yapamıyorm. return validate() de yaptım hatta <script type="text/javascript" ></script> olarak da degıstrıdım.

var names=document.getElementById("adText");
if(names.value.length < 2){

burada sorun var ben h:inputText ten value degerını alamıyorum. Cunku herseyı kaldırıp sadece var degıskenıne value dekı degerı alırken sorun yasıyorum.

names.value.length dogru mu mesela .?





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
15.06.2009-14:18 #61182
Abi ben sorunu buldum :S . form lar arasına h koymassam oluyor . Ama koymalıyım nası olaacakconfused





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
15.06.2009-14:51 #61187

    <html> 
        <head> 
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
            <title>JSP Page</title> 
            <script type="text/javascript"> 
                function validate()
                {
                    var names=document.getElementById("adText");
                    if(names.value.length  < 2){
                        alert("olmadi");
                        return false;
                    }
                    else{
                    return true ;
                    }
                }
            </script> 
        </head> 
        <body> 
            <form action="basarili.jsp"> 
                
                <input id="adText" type="text" name="adText" value="" /><input type="submit" name="j_id_jsp_903688759_2" value="asda" onclick="return validate()" /> 
                
            </form> 
        </body> 
    </html> 


Burada kodun kaynagını verdim. Ben action u h:commadButton a veriyorum ama çalısmıyor.
Netbeans te yazdıgım kod ise bu
<f:view>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
            <script type="text/javascript">
                function validate()
                {
                    var names=document.getElementById("adText");
                    if(names.value.length  < 2){
                        alert("olmadi");
                        return false;
                    }
                    else{
                    return true ;
                    }
                }
            </script>
        </head>
        <body>
            <form action="basarili.jsp">
                
                <h:inputText  id="adText" value="" />
                <h:commandButton value="asda"   onclick="return validate()" />
            </form>
        </body>
    </html>
</f:view>







www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
blackout


avatar

Kayıt: 11.12.2008
15.06.2009-18:37 #61208
Eğer html output verdiğin gibiysee bu kod bende çalışıyor. thinking





Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
15.06.2009-22:12 #61228
blackout yazdi
 
Eğer html output verdiğin gibiysee bu kod bende çalışıyor. thinking


Yok zaten gonderdıgım calısıyor bende de . Ama ben bunu form degılde h:form kullanarak nasıl yapabılılırım. actıon attributunu form a deıl de h:commandButton a vermek ıstıyorum. O sekılde yapamıyorum





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
blackout


avatar

Kayıt: 11.12.2008
15.06.2009-23:25 #61233
Valla hocam gerisi beni aşar, kullandığın framework'ün dökümanlarını iyi inceledin mi?

Bir de benim merak ettiğim Netbeans'ta yazdığın kod nasıl bir html çıktısı üretiyor? Sonuçta yazdığın kodlar tarayıcıya üstte yazdığın html formatında gelerek yorumlanıyor.





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb