Sobes.tech
Junior

Veb formalar üçün hansı doğrulama növləri mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

  • İstifadəçi tərəfi doğrulaması (Client-Side Validation): Brauzerdə həyata keçirilir və məlumatlar serverə göndərilmədən əvvəl yoxlanılır. İstifadəçiyə sürətli geri bildirim təmin edir.

    • HTML5 atributları (required, minlength, maxlength, type="email/url/number", pattern).
    • JavaScript: sahələrin əl ilə yoxlanması, kitabxanalar/frameworklərdən istifadə (məsələn, jQuery Validation Plugin, VeeValidate, Formik).
    // Sadə JavaScript ilə yoxlama nümunəsi
    function validateForm() {
      let x = document.forms["myForm"]["fname"].value;
      if (x == "") {
        alert("Ad doldurulmalıdır");
        return false;
      }
      return true;
    }
    
  • Server tərəfi doğrulaması (Server-Side Validation): Məlumatlar müştəridən alındıqdan sonra serverdə həyata keçirilir. Təhlükəsizlik və məlumatların bütövlüyü üçün vacibdir, çünki müştəri tərəfi yoxlaması keçə bilər.

    • Məlumat tiplərinin yoxlanması.
    • Məlumat formatının yoxlanması.
    • Məhdudiyyətlərin yoxlanması (uzunluq, diapazon).
    • Unikalığın yoxlanması (məsələn, email və ya istifadəçi adı).
    • Biznes məntiqinin yoxlanması.
    # Əsas server tərəfi yoxlaması nümunəsi (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ş sahənin yoxlanması
            return "Xəta: Ad doldurulmayıb", 400
    
        # Digər yoxlamaları əlavə edin: format, uzunluq və s.
    
        return "Form uğurla göndərildi"
    
    if __name__ == '__main__':
        app.run(debug=True)
    
  • Həqiqi vaxtda doğrulama (Real-time Validation): İstifadəçi və server tərəfi yoxlamanın birləşməsi, istifadəçiyə məlumat daxil edərkən geri bildirim verir. Çox vaxt AJAX sorğuları və ya mürəkkəb müştəri yoxlamaları ilə həyata keçirilir.

Üstünlüklər və çatışmazlıqlar:

Yoxlama növü Üstünlüklər Çatışmazlıqlar
İstifadəçi tərəfi Tez geri bildirim, server yükünü azaldır Güvənilmir (aşağı ola bilər), brauzərə bağlı
Server tərəfi Güvənilir, təhlükəsizlik və bütövlük təmin edir Daha yavaş, server yükünü artırır
Həqiqi vaxtda UX yaxşılaşdırılmış İcra çətinliyi

Hər iki yoxlama növünün (istifadəçi və server) birləşməsi yaxşı təcrübə hesab olunur və istifadəçi təcrübəsini yaxşılaşdırmaq və məlumatların etibarlılığını təmin etmək üçün tövsiyə edilir. İstifadəçi tərəfi rahatlıq və sürətli geri bildirim üçün, server tərəfi isə təhlükəsizlik və düzgünlük üçün istifadə olunur.