PHP Nette - validace formuláře - REGEX pravidlo pro české znaky + mezera a pomlčka

PHP Nette - validace formuláře - REGEX pravidlo pro české znaky + mezera a pomlčka

Ahoj,

mám v PHP Nette projektu formulář s inputem na jméno, který je pomocí REGEX pravidla takto validován:


$form->addText('name', 'Jméno')
->setHtmlAttribute('class', 'form-control')
->addRule(Form::MIN_LENGTH, 'Jméno musí mít alespoň %d znaky', 2)
->addRule(Form::MAX_LENGTH, 'Jméno nemůže mít více jak %d znaků', 20)
->addRule(Form::PATTERN, 'Jméno obsahuje nepovolené znaky.', '[a-zA-ZáčďéěíňóřšťůúýžÁČĎÉĚÍŇÓŘŠŤŮÚÝŽ]+[ \-]?')
->setRequired('Zadejte jméno');


Na typická česká jména to je vyhovující, ale na dvě jména či jména s pomlčkou to nevyhovuje. Jak bych měl to REGEX pravidlo upravit, aby tam mohla být mezera a pomlčka?

Díky


ODPOVĚĎ


Ahoj,

abys v tom Nette formuláři měl regularní plavidlo i na pomlčku, tak bys mohl REGEX upravit takto:

REGEX - může obsahovat pomlčku (minus)
[a-zA-ZáčďéěíňóřšťůúýžÁČĎÉĚÍŇÓŘŠŤŮÚÝŽ-]

REGEX - mezera (space)
+[\w ]

S touto definicí formu s tímto regulárem bys mohl být spokojený:

$form->addText('name', 'Jméno')
->setHtmlAttribute('class', 'form-control')
->addRule(Form::MIN_LENGTH, 'Jméno musí mít alespoň %d znaky', 2)
->addRule(Form::MAX_LENGTH, 'Jméno nemůže mít více jak %d znaků', 20)
->addRule(Form::PATTERN, 'Jméno obsahuje nepovolené znaky.', '[a-zA-ZáčďéěíňóřšťůúýžÁČĎÉĚÍŇÓŘŠŤŮÚÝŽ-]+[\w ]+[ \-]?')
->setRequired('Zadejte jméno');


Ale nejlepší bude tento regulární výraz (projde i více jmen za sebou), takže resumé je:

$form->addText('name', 'Jméno')
->setHtmlAttribute('class', 'form-control')
->addRule(Form::MIN_LENGTH, 'Jméno musí mít alespoň %d znaky', 2)
->addRule(Form::MAX_LENGTH, 'Jméno nemůže mít více jak %d znaků', 20)
->addRule(Form::PATTERN, 'Jméno obsahuje nepovolené znaky.', '[ ./a-zA-ZáčďéěíňóřšťůúýžÁČĎÉĚÍŇÓŘŠŤŮÚÝŽ-]+[ \-]?')
->setRequired('Zadejte jméno');

Show english version

Komentáře

Vaše reakce na PHP Nette - validace formuláře - REGEX pravidlo pro české znaky + mezera a pomlčka

Související obsah

programovani

php

regex

regularni

nette

form

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.