Sobes.tech
Junior

Kādi validācijas veidi pastāv tīmekļa formām?

sobes.tech AI

Atbilde no AI

  • Klienta puses validācija (Client-Side Validation): Veicama pārlūkprogrammā pirms datu nosūtīšanas uz serveri. Nodrošina ātru atsauksmi lietotājam.

    • HTML5 atribūti (required, minlength, maxlength, type="email/url/number", pattern).
    • JavaScript: manuāla pārbaude, bibliotēku/rāmiņu izmantošana (piemēram, jQuery Validation Plugin, VeeValidate, Formik).
    // Vienkāršas JavaScript validācijas piemērs
    function validateForm() {
      let x = document.forms["myForm"]["fname"].value;
      if (x == "") {
        alert("Vārds ir jāaizpilda");
        return false;
      }
      return true;
    }
    
  • Servera puses validācija (Server-Side Validation): Veicama serverī pēc datu saņemšanas. Kritiski svarīga drošības un datu integritātes nodrošināšanai, jo klienta puses validāciju var apiet.

    • Datu tipu pārbaude.
    • Datu formāta pārbaude.
    • Ierobežojumu pārbaude (garums, diapazons).
    • Unikalitātes pārbaude (piemēram, e-pasts vai lietotājvārds).
    • Biznesa loģikas pārbaude.
    # Pamatvalidācijas piemērs (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: # Tukšs lauks
            return "Kļūda: Vārds nav aizpildīts", 400
    
        # Pievienot citas pārbaudes: formāts, garums utt.
    
        return "Forma veiksmīgi nosūtīta"
    
    if __name__ == '__main__':
        app.run(debug=True)
    
  • Reāllaika validācija (Real-time Validation): Apvienota klienta un servera validācija, kas sniedz atsauksmi lietotājam datu ievades laikā. Bieži realizēta ar AJAX pieprasījumiem uz serveri vai sarežģītām klienta pārbaudēm.

Priekšrocības un trūkumi:

Validācijas veids Priekšrocības Trūkumi
Klienta puse Ātra atsauksme, mazāka slodze uz servera Neuzticama (var tikt apiet), atkarīga no pārlūkprogrammas
Servera puse Uzticama, nodrošina drošību un datu integritāti Lēnāka atsauksme, lielāka slodze uz serveri
Reāllaika Uzlabota lietotāja pieredze Sarežģīta īstenošana

Abu (klienta un servera) validāciju izmantošana ir labākā prakse, lai nodrošinātu labu lietotāja pieredzi un datu drošību. Klienta puse ir piemērota ātrai un ērtai atsauksmei, bet servera puse – drošībai un precizitātei.