Kontrola unosa tekstualnih podataka je provera da li je ono što korisnik unosi u aplikaciju ispravno i odgovara očekivanom formatu.

Na primer, ako je potrebno popuniti formular za prijavu na neeki događaj  treba da se unese broj telefona za kontakt. Ako se slučajno unesu slova umesto brojeva, aplikacija treba da upozori na pojavu greške. To je kontrola unosa – sprečava greške i osigurava da su podaci pravilno zapisani.

Najčešće kontrole unosa su:
   ✔ Dužina teksta (npr. lozinka mora imati najmanje 8 karaktera)
   ✔ Dozvoljeni karakteri (npr. korisničko ime ne može sadržati specijalne znakove)
   ✔ Format podataka (npr. e-mail adresa mora imati „@“ i tačku)

Ovo se može raditi ručno (proveravanjem teksta u kodu) ili pomoću ugrađenih kontrola u programskom jeziku, kao što su regularni izrazi (Regex) ili posebne komponente u Visual Studiju, kao što su MaskedTextBox ili Validating događaji.

U suštini, kontrola unosa pomaže da program ispravno radi i sprečava probleme pre nego što se oni dogode. 😊


Validacija unosa se najčešće realizuje pomoću sledećih tehnika:

  • Provera osnovnih uslova (npr. dužina teksta, prazni unosi i slično pomoću metoda za rad sa stringovima (string.Contains(), string.StartsWith(), string.EndsWith(), ...)).
  • Korišćenje metoda za parsiranje (npr. int.TryParse(), double.TryParse() za brojeve).
  • Regularni izrazi (za proveru složenijih obrazaca).

Neke osnovne metode za proveru

  1. Provera praznog unosa: Koristimo metodu string.IsNullOrEmpty ili string.IsNullOrWhiteSpace.

  2. Provera dužine teksta: Koristimo svojstvo Length za proveru minimalne i maksimalne dužine unosa.

  3. Validacija formata: Koristimo regularne izraze pomoću klase Regex za proveru specifičnih obrazaca, kao što su email adrese, brojevi telefona itd.

Primer validacije:

  string unos = "";
  if (string.IsNullOrWhiteSpace(unos))
  {
    Console.WriteLine("Unos ne može biti prazan.");
  }
  else if (unos.Length < 3 || unos.Length > 20)
  {
    Console.WriteLine("Unos mora imati između 3 i 20 karaktera.");
  }
  else
  {
    Console.WriteLine("Unos je validan.");
  }

Primeri za rad na času i/ili kod kuće

Primer 1: Provera dužine i praznih unosa

Napisati program koji proverava da li korisnik unosi ime koje nije prazno i koje ima između 3 i 15 karaktera.

using System;

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

        if (string.IsNullOrWhiteSpace(ime))
        {
            Console.WriteLine("Ime ne može biti prazno.");
        }
        else if (ime.Length < 3 || ime.Length > 15)
        {
            Console.WriteLine("Ime mora imati između 3 i 15 karaktera.");
        }
        else
        {
            Console.WriteLine("Unos imena je validan: " + ime);
        }
    }
}

Primer 2: Provera unosa brojeva

Napisati program koji proverava da li je korisnik uneo ceo broj.

using System;

class Program {
    static void Main() {
        Console.Write("Unesite broj: ");
        string unos = Console.ReadLine();
        
        if (int.TryParse(unos, out int broj)) {
            Console.WriteLine("Uneli ste validan broj: " + broj);
        } else {
            Console.WriteLine("Neispravan unos, molimo unesite broj.");
        }
    }
}
Primer 3: Validacija email adrese

Napisati program u kojem se korišćenjem regularnih izraza proverava da li je korisnik uneo validnu email adresu.

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        Console.Write("Unesite 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("Email adresa nije validna.");
        }
    }
}
Primer 4: Validacija broja telefona

Napisati program koji proverava da li korisnik unosi broj telefona u formatu "123-456-789".

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        Console.Write("Unesite broj telefona (format: 123-456-789): ");
        string telefon = Console.ReadLine();

        string obrazac = "^\d{3}-\d{3}-\d{3}$";
        if (Regex.IsMatch(telefon, obrazac))
        {
            Console.WriteLine("Broj telefona je validan.");
        }
        else
        {
            Console.WriteLine("Broj telefona nije validan.");
        }
    }
}

Dodatne vežbe za učenike

  1. Provera korisničkog imena: Napišite program koji proverava da li korisničko ime:

    • Nije prazno.
    • Ima između 5 i 12 karaktera.
    • Sadrži samo slova i brojeve (bez specijalnih znakova).
  2. Validacija datuma: Napravite program koji proverava da li je uneti datum u formatu "dd.mm.yyyy".

  3. Provera lozinke: Napišite program koji proverava da li lozinka:

    • Ima najmanje 8 karaktera.
    • Sadrži najmanje jedno veliko slovo, jedno malo slovo i jedan broj.

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