Sobes.tech
Junior

Web formları için hangi doğrulama türleri vardır?

sobes.tech yapay zeka

AI'dan gelen yanıt

  • İstemci Tarafı Doğrulama (Client-Side Validation): Tarayıcıda, verilerin sunucuya gönderilmeden önce yapılır. Kullanıcıya hızlı geri bildirim sağlar.

    • HTML5 öznitelikleri (required, minlength, maxlength, type="email/url/number", pattern).
    • JavaScript: alanların manuel kontrolü, kütüphane/framework kullanımı (örneğin, jQuery Validation Plugin, VeeValidate, Formik).
    // Basit JavaScript doğrulama örneği
    function validateForm() {
      let x = document.forms["myForm"]["fname"].value;
      if (x == "") {
        alert("İsim doldurulmalı");
        return false;
      }
      return true;
    }
    
  • Sunucu Tarafı Doğrulama (Server-Side Validation): Veriler alındıktan sonra sunucuda yapılır. Güvenlik ve veri bütünlüğü için kritiktir, çünkü istemci doğrulaması aşılabilir.

    • Veri tiplerinin kontrolü.
    • Veri formatının kontrolü.
    • Kısıtlamaların kontrolü (uzunluk, aralık).
    • Benzersizliğin kontrolü (örneğin, email veya kullanıcı adı).
    • İş mantığının kontrolü.
    # Temel sunucu tarafı doğrulama örneği (Flask)
    from flask import request, Flask
    
    app = Flask(__name__)
    
    @app.route('/submit', methods=['POST'])
    def submit_form():
        name = request.form.get('name')
        if not name: # Boş alan kontrolü
            return "Hata: İsim doldurulmamış", 400
    
        # Diğer kontrolleri ekle: format, uzunluk vb.
    
        return "Form başarıyla gönderildi"
    
    if __name__ == '__main__':
        app.run(debug=True)
    
  • Gerçek Zamanlı Doğrulama (Real-time Validation): İstemci ve sunucu tarafı doğrulamanın birleşimi, kullanıcının veri girişi sırasında geri bildirim sağlar. Sıkça AJAX istekleri veya karmaşık istemci kontrolleri ile uygulanır.

Avantajlar ve Dezavantajlar:

Doğrulama Türü Avantajlar Dezavantajlar
İstemci Tarafı Hızlı geri bildirim, sunucu yükü az Güvenilir değil (aşılabilir), tarayıcıya bağlı
Sunucu Tarafı Güvenilir, güvenlik ve bütünlüğü sağlar Daha yavaş, sunucu yükü artar
Gerçek Zamanlı Gelişmiş kullanıcı deneyimi (UX) Uygulama karmaşıklığı

Her iki doğrulama türünün (İstemci ve Sunucu) kullanımı, iyi bir kullanıcı deneyimi ve veri güvenilirliği sağlamak için en iyi uygulamadır. İstemci tarafı, kolaylık ve hızlı geri bildirim için, sunucu tarafı ise güvenlik ve doğruluk için kullanılır.