Formular orezani hodnoty v inputu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
parti
Člen | 117
+
0
-

Ahoj hledeam odpoved na jednu svoji otazku. Jde ve formulari udelat nejaku ficuru ktera uzivaltely ulechci zadavani hodnoty do inputu.
Mam na mysli neco takove.

Uzivatel ma nejakou naprikald emailovou adresu abcde@seznam.cz [ JE TO JENOM PRIKLAD]
Je mozne ve formualri udelat aby uzivtel nemusel zadavat vse co je za zavinacem.?

Predpokladejme ze vsichni uzivatele maji stejny vyraz za zavinacem.
Dekuji moc za nejakou radu a napad.

CZechBoY
Člen | 3608
+
0
-

co dat text za input? potom v php pri ukladani pridas suffix.

parti
Člen | 117
+
-1
-

hm zaojimave a neslo by to nejko udelat bez toho textu aby nemusel byt videt.? Pozeral jsem do dokumentace na form a zkusil setDefaultValuea a do toho dat napriklad ten string, ale nefunguje to.Mam to takto.

$this->addText('name', 'name')
              ->setAttribute('placeholder', 'Type name')
              ->setDefaultValue('seznam.cz')

To asi nebude spravne.Promin a ten suffix se pouziva ako ?

Editoval parti (25. 2. 2017 17:59)

Mysteria
Člen | 797
+
+1
-

Nejspíš to bylo myšleno tak, že normálně budeš mít zobrazené textové pole a z ním v labelu @seznam.cz.
No a v PHPku si to pak pracuješ třeba jako $email = $form->values->email . '@seznam.cz';.

parti
Člen | 117
+
0
-

Tak jsem to udelal v modelove tride a v podmince where jsem pridal like takto

->where("name LIKE ?", "%" . $name . "%");

je to na ukor rychlosti
co ty nato ? ucim se jeste takze rad prijmu nejaky nazor zkusenejsiho.

Editoval parti (25. 2. 2017 19:14)

David Matějka
Moderator | 6445
+
0
-

to asi nechces, pak ti tam pribude uzivatel abcdef@seznam.cz a prvnimu to prestane fungovat.

blaztar
Člen | 93
+
+1
-

Asi hledáš metodu addFilter

$form->addText('name', 'name')
     ->addFilter(function($name) {

		if (strpos($name, '@seznam.cz') !== false) {
			return $name;
		}

		return $name . '@seznam.cz';
     });

Editoval blaztar (26. 2. 2017 10:15)

parti
Člen | 117
+
0
-

Dekuji s tim filtrem je to super. Dekuji