Witam. Tworzę walidację formularza i mam pole "Mecz" w której chcę, aby można było wpisać nazwę spotkania, np. "Liverpool - Chelsea". Wszystko jest ok. Za pomocą wyrażeń regularnych zablokowałem jeszcze możliwość wpisywania apostrofu i znaku równości oraz dodałem warunek if(empty($_POST['mecz']), który sprawdza czy pole nie jest puste. Problem jest tylko taki, że jeżeli przykładowo wpiszę w tym polu samą spację to rekord przechodzi i zostaję dodany do bazy danych. Moje pytanie: jak zablokować możliwość wpisywania samej spacji oraz spacji lub znaku ' albo = na pierwszej pozycji? (np. "=Liverpool - Chelsea", "'Liverpool - Chelsea" albo " Liverpool - Chelsea")
Próbowałem już kilka różnych wariantów, ale ciągle nie mogę sobie z tym poradzić. Poniżej ostatni kod:
$mecz = $_POST['mecz'];
if(!preg_match('/^(\S|[^\'\=]){1}[^\'\=]+$/D', $_POST['mecz'])) {
$_SESSION['e_mecz']="Pole zawiera niedozwolone znaki!";
$wszystko_OK = false;
}
{
$_SESSION['e_mecz']="Pole nie może być puste!";
$wszystko_OK = false;
}