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; } - HTML5 öznitelikleri (
-
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.