using SameBeat.Application.Komendy; namespace SameBeat.Application.Walidacja; /// /// Walidacja wejscia PRZED dotarciem do logiki biznesowej -- odrzuca oczywiste smieci (pusty nick, /// za dlugie haslo) bez marnowania czasu na zapytanie do bazy czy hashowanie. /// public static class WalidatorZalogujKomenda { private const int MaksymalnaDlugoscNicku = 64; private const int MaksymalnaDlugoscHasla = 256; public static string? Waliduj(ZalogujKomenda komenda) { if (string.IsNullOrWhiteSpace(komenda.Nick)) { return "Nick jest wymagany."; } if (komenda.Nick.Length > MaksymalnaDlugoscNicku) { return $"Nick moze miec maksymalnie {MaksymalnaDlugoscNicku} znakow."; } if (string.IsNullOrEmpty(komenda.Haslo)) { return "Haslo jest wymagane."; } if (komenda.Haslo.Length > MaksymalnaDlugoscHasla) { return $"Haslo moze miec maksymalnie {MaksymalnaDlugoscHasla} znakow."; } return null; } }