Uvod

U programiranju, posebno prilikom razvoja aplikacija koje koriste forme za unos podataka, veoma je važno osigurati da podaci budu ispravni. Ako korisnici mogu uneti bilo kakve vrednosti, to može dovesti do grešaka, lošeg korisničkog iskustva ili čak sigurnosnih problema. Zato koristimo kontrolu unosa kako bismo ograničili korisnika da unosi samo validne podatke.

Kontrola unosa na nivou polja za unos podataka predstavlja važan aspekt razvoja aplikacija, jer omogućava proveru unosa direktno na mestu gde korisnik unosi podatke.

Bez obzira da li je u pitanju konzolna aplikacija ili aplikacija sa formama, neke stvari bi trebalo da se provere:

  • Da li je vrednost uneta.
  • Da li unesena vrednost odgovara određenom obrascu (npr. email, broj telefona).
  • Po potrebi, provera minimalne i maksimalne dužine unosa.
  • Da li uneti podaci odgovaraju očekivanom tipu (npr. da li je unesen broj ili datum).

Ovo nije jedino, ali, koje provere treba da se urade uveliko zavisi i od potreba aplikacije. U nastavku su primeri nekih od najčešćih provera:

  Provera praznih unosa - Metode poput string.IsNullOrWhiteSpace omogućavaju proveru da li je polje ostalo prazno ili sadrži samo razmake.

  Validacija formata pomoću regularnih izraza - Klasa Regex se koristi za proveru šablina, kao što su email adrese, brojevi telefona ili poštanski brojevi.

  Parsiranje podataka - Metode kao što su int.TryParse, DateTime.TryParse omogućavaju proveru i konverziju unetih podataka u očekivani format.

Rešeni primeri za učenike:

Program proverava da li korisnik unosi ime koje nije prazno.

using System;

class Program
{
    static void Main()
    {
        Console.Write("Unesite vaše ime: ");
        string ime = Console.ReadLine();

        if (string.IsNullOrWhiteSpace(ime))
        {
            Console.WriteLine("Greška: Polje za ime ne može biti prazno.");
        }
        else
        {
            Console.WriteLine("Uneto ime: " + ime);
        }
    }
}

Proveravamo da li korisnik unosi validnu email adresu.

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        Console.Write("Unesite vašu email adresu: ");
        string email = Console.ReadLine();

        string obrazac = @"^[^@\s]+@[^@\s]+\.[^@\s]+$";
        if (Regex.IsMatch(email, obrazac))
        {
            Console.WriteLine("Email adresa je validna.");
        }
        else
        {
            Console.WriteLine("Greška: Nevalidna email adresa.");
        }
    }
}

Proveravamo da li je korisničko ime između 5 i 15 karaktera.

using System;

class Program
{
    static void Main()
    {
        Console.Write("Unesite korisničko ime: ");
        string korisnickoIme = Console.ReadLine();

        if (korisnickoIme.Length < 5 || korisnickoIme.Length > 15)
        {
            Console.WriteLine("Greška: Korisničko ime mora imati između 5 i 15 karaktera.");
        }
        else
        {
            Console.WriteLine("Korisničko ime je validno.");
        }
    }
}

Vežbe za učenike

  1. Validacija lozinke: Napišite program koji proverava da li lozinka ispunjava sledeće uslove:

    • Ima najmanje 8 karaktera.
    • Sadrži najmanje jedno veliko slovo, jedno malo slovo i jedan broj.
  2. Provera broja telefona: Napravite program koji proverava da li broj telefona odgovara formatu "+381-XX-XXX-XXXX".

  3. Validacija datuma: Napravite program koji proverava da li je uneti datum u formatu "dd.mm.yyyy".

  4. Provera specifičnih karaktera: Napišite program koji proverava da li uneti tekst sadrži samo slova i brojeve (bez specijalnih znakova).

Last modified: Thursday, 11 December 2025, 2:43 AM