Kontrola povinných polí. Povinná a nepovinná pole při vyplňování formulářů Povinná pole url http c

Zdálo by se, že v návrhu vstupních polí není nic složitého: nakreslete prázdné obdélníky pro zadávání dat, zbytek si uživatel udělá sám. Vše však není tak jednoduché. Soudě podle délky článku je jasné, že pravidel a funkcí je poměrně hodně. Uživatele je potřeba pečlivě „vodit za ruku“, vše mu ukázat, vysvětlit a pomoci. Teprve potom od něj budeme schopni získat požadovaná data. No, začněme!

7+ pravidel pro vstupní pole

Nejzákladnějším pravidlem, jako všude jinde, je vžít se na místo návštěvníka. Je vše jasné? Dá se na první pohled pochopit, co je potřeba do pole zadat? Reaguje pole adekvátně na zadané informace?

Pište popisy a tipy

Nápovědy a popisy jsou potřebné k tomu, aby ukázaly, jaká data je třeba zadat, jak je správně zadat a jak bude stránka tyto informace používat v budoucnu.

Existuje několik typů tipů:

1) Ikony

Ikony jsou univerzální vizuální jazyk. Pomohou vám porozumět tomu, co zadat, dokonce i letmým pohledem. A ano, ikony jsou designový fetiš =)

Neměli bychom však zapomínat, že je vždy potřeba vysvětlit.

2) Příklady

Nejjednodušší způsob, jak zjistit, jak vyplnit pole, je ukázat příklad. Ukázkový příklad: " [e-mail chráněný]»

3) Vysvětlivky

Tento typ popisu slouží k vysvětlení, jak bude web data využívat a k čemu jsou potřeba. Například: „Potřebujeme poštu, abychom vás informovali o stavu vaší objednávky. Nebudeme posílat spam."

Používejte masky

Pro pole, která vyžadují data formátovaná určitým způsobem (například číslo bankovní karty nebo telefonní číslo), by se měly používat masky. Přesouváme tak práci s formátováním informací z návštěvnických ramen na bezduchý stroj.

Zde je několik příkladů různých masek:

Zvýrazněte povinná pole

Pokud jsou mezi nepovinnými poli pole, která je nutné vyplnit, pak je třeba je mezi ostatními zvýraznit a klást důraz na jejich povinné vyplnění. Povinná pole jsou zpravidla označena hvězdičkou - *.

Je lepší seskupit všechna povinná pole a umístit je na začátek formuláře.

Mimochodem, výše uvedený příklad také ukazuje 2 typy tipů: příklady a vysvětlení.

Zaměření a klávesnice

Aktivní pole, ve kterém je umístěn kurzor, musí mít rozlišovací znak. Prohlížeče zpravidla samostatně zvýrazňují aktivní pole. Neměli byste však nechat vše náhodě a sami si funkčnost této funkce ověřit.

Po načtení stránky by se mělo automaticky aktivovat první vstupní pole. Jako by vás vyzýval k vyplnění celého formuláře. Při vyplňování formuláře by mělo být možné přepínat mezi vstupními poli bez použití myši. To se obvykle děje stisknutím tlačítka Tab.

Při použití nápověd s automatickým doplňováním (například při vyhledávání) by mělo být možné vybrat položku pomocí šipek a potvrdit ji stisknutím klávesy Enter.

Při zadávání tajných údajů (například hesla) by mělo být možné tato data na žádost uživatele skrýt a zobrazit.

Použijte již zadaná data

Vstupní pole si musí pamatovat věci, na které obyčejní lidé zapomínají. Je neslušné žádat o stejné informace dvakrát. Pokud jste se jednou přihlásili do seznamu adresátů webu, pak by si vás web měl při registraci pamatovat a zadat váš e-mail do příslušného pole.

Seskupit vstupní pole

Pro snadnější vyplňování je lepší podobná pole seskupit. Například pole pro zadání osobních údajů (jméno, příjmení, email) jsou jeden blok, pole s doručovací adresou jsou další blok.

Dávejte pozor na velikost pole

Velikost pole ve většině případů slouží k odhadu množství dat, která jsou od uživatele požadována. Tito. tam, kde potřebujete zadat dlouhou adresu, je pole velké. Takže tam, kde je potřeba 6místný index, je pole malé.

Konečně

Návrh vstupních polí není tak jednoduchý, jak se na první pohled zdá. Musíte si pamatovat mnoho nuancí a neustále si klást otázku: „bude uživateli vše jasné?

Mnoho pečlivých chlapů řekne, že 7 pravidel vůbec nebylo (a někteří si toho ani nevšimli, ha ha ha). Mnoho pravidel je však malých, takže jsem je počítal za polovinu. A obecně se mi líbí číslo 7 =)

HTML formuláře jsou ovládací prvky, které se používají ke shromažďování informací od návštěvníků webových stránek.

Webové formuláře se skládají z kolekce textových polí, tlačítek, seznamů a dalších ovládacích prvků, které se aktivují kliknutím myši. Z technického hlediska formuláře předávají data od uživatele na vzdálený server.

Pro příjem a zpracování formulářových dat slouží webové programovací jazyky jako např PHP, Perl.

Před příchodem HTML5 byly webové formuláře souborem několika prvků , zakončené tlačítkem . Stylování formulářů v různých prohlížečích stálo hodně úsilí. Kromě toho formuláře vyžadovaly JavaScript k ověření vstupu a postrádaly specifické typy vstupních polí pro specifikaci každodenních informací, jako jsou data, e-mailové adresy a adresy URL.

HTML5 formuláře vyřešil většinu těchto běžných problémů přítomností nových atributů, které poskytují možnost změnit vzhled formulářových prvků CSS3.

Rýže. 1. Vylepšené webové formuláře s HTML5

Vytvoření formuláře HTML5

1. Element

Základem každé formy je živel .... Nevyžaduje žádný vstup, protože je to kontejner, který drží všechny ovládací prvky formuláře pohromadě - pole. Atributy tohoto prvku obsahují informace, které jsou společné pro všechna pole formuláře, takže pole, která jsou logicky kombinována, musí být zahrnuta do jednoho formuláře.

Tabulka 1. Atributy značek
Atribut Význam/Popis
přijmout-znakovou sadu Hodnota atributu je oddělena mezerou seznam kódování znaků, který bude použit k odeslání formuláře, např. .
akce Povinný atribut, který určuje adresu URL obslužného programu formuláře na serveru, na který jsou data odesílána. Je to soubor (například action.php), který popisuje, co je třeba udělat s daty formuláře. Pokud hodnota atributu není zadána, pak po opětovném načtení stránky převezmou prvky formuláře své výchozí hodnoty.
Pokud bude veškerá práce prováděna na straně klienta skripty JavaScript, můžete zadat hodnotu # pro atribut action.
Můžete si také zajistit, aby vám formulář vyplněný návštěvníkem byl zaslán e-mailem. Chcete-li to provést, musíte provést následující zadání:
automatické doplňování

enctype Používá se k označení MIM-typ dat odeslaných společně s formulářem, například enctype="multipart/form-data" . Určeno pouze v případě method="post" .
application/x-www-form-urlencoded je výchozí typ obsahu, což znamená, že předaná data představují seznam proměnných formuláře zakódovaných v URL. Mezera (ASCII 32) bude kódována jako + a speciální znak, jako je ! bude zakódováno v šestnáctkové soustavě jako %21 .
multipart/form-data – používá se k odesílání formulářů obsahujících soubory, non-ASCII data a binární data, skládá se z několika částí, z nichž každá představuje obsah samostatného prvku formuláře.
text/plain - označuje, že je přenášen prostý (nikoli html) text.
metoda Určuje způsob odesílání dat formuláře.
Metoda get předává data serveru přes adresní řádek prohlížeče. Při generování požadavku na server tvoří všechny proměnné a jejich hodnoty sekvenci jako www.anysite.ru/form.php?var1=1&var2=2 . Jsou názvy a hodnoty proměnných připojeny k adrese serveru za znak? a jsou odděleny znakem &. Všechny speciální znaky a písmena mimo latinku jsou kódovány ve formátu %nn, mezera je nahrazena +. Tato metoda by měla být použita, pokud nepřenášíte velké množství informací. Pokud máte spolu s formulářem odeslat soubor, tato metoda nebude fungovat.
Metoda post se používá k odesílání velkého množství dat a také důvěrných informací a hesel. Data odeslaná pomocí této metody nejsou viditelná v záhlaví URL, protože jsou obsažena v těle zprávy.
název Sady název formuláře, který bude použit pro přístup k formulářovým prvkům prostřednictvím skriptů, jako je name="opros" .
novalidovat Zakáže ověření v tlačítku odeslání formuláře. Atribut se používá bez zadání hodnoty
cílová Určuje okno, do kterého budou informace odeslány:
_blank - nové okno
_self - stejný rám
_parent — nadřazený rámec (pokud existuje, pokud ne, pak do aktuálního)
_top je okno nejvyšší úrovně vzhledem k tomuto rámci. Pokud volání nepřichází z podřízeného rámce, pak do stejného rámce.

2. Seskupování formulářových prvků

Živel

...
navržený tak, aby seskupoval prvky, které spolu souvisí, čímž se forma rozděluje na logické fragmenty.

Každá skupina prvků může být pojmenována pomocí prvku , který následuje bezprostředně za značkou

. Název skupiny se zobrazí v levém horním okraji
. Například pokud v prvku
Kontaktní údaje jsou uloženy:

Kontaktní informace


Rýže. 2. Seskupování formulářových prvků pomocí

Tabulka 2. Atributy značek
Atribut Význam/Popis
zakázáno Pokud je atribut přítomen, pak skupina souvisejících formulářových prvků umístěných uvnitř kontejneru
, zakázáno pro vyplňování a úpravy. Používá se k omezení přístupu k určitým polím formuláře obsahujícím dříve zadaná data. Atribut se používá bez uvedení hodnoty -
.
formulář
ve stejném dokumentu. Označuje jednu nebo více forem, ke kterým tato skupina prvků patří. Atribut není aktuálně podporován žádným prohlížečem.
název Definuje název, který bude použit k odkazování na prvky v JavaScriptu nebo k odkazování na data formuláře po vyplnění a odeslání formuláře. Je analogický s atributem id.

3. Vytvořte pole formuláře

Živel vytváří většinu polí formuláře. Atributy prvku se liší v závislosti na typu pole, k jehož vytvoření je prvek použit.

Pomocí stylů CSS můžete změnit velikost písma, typ písma, barvu a další vlastnosti textu, stejně jako přidat okraje, barvu pozadí a obrázek na pozadí. Šířka pole je určena vlastností width.

Tabulka 3. Atributy značek
Atribut Význam/Popis
akceptovat Určuje typ souboru, který lze odeslat na server. Určeno pouze pro . Možné hodnoty:
přípona_souboru - umožňuje stahování souborů se zadanou příponou, například accept=".gif" , accept=".pdf" , accept=".doc"
audio/* - umožňuje stahování zvukových souborů
video/* - umožňuje stahování videosouborů
image/* - umožňuje načítání obrázků
media_type - označuje typ média stahovaných souborů.
alt Definuje alternativní text pro obrázky, indikováno pouze pro .
automatické doplňování Zodpovědnost za zapamatování hodnot zadaných do textového pole a jejich automatické nahrazení při příštím zadání:
on - znamená, že pole není chráněno a jeho hodnotu lze uložit a načíst,
off - deaktivuje automatické vyplňování polí formuláře.
autofokus Umožňuje ujistit se, že v načteném formuláři jedno nebo druhé vstupní pole již má fokus (bylo vybráno) a je připraveno zadat hodnotu.
kontrolovány Atribut kontroluje, zda je při načítání stránky zaškrtnuto výchozí zaškrtávací políčko pro pole jako type="checkbox" a type="radio" .
zakázáno
formulář Hodnota atributu se musí rovnat atributu id prvku ve stejném dokumentu. Identifikuje jeden nebo více formulářů, ke kterým toto pole formuláře patří.
formace Určuje adresu URL souboru, který bude zpracovávat údaje zadané do polí při odesílání formuláře. Nastaveno pouze pro pole type="submit" a type="image" . Atribut přepíše hodnotu atributu action samotného formuláře.
formanctype Určuje, jak budou data pole formuláře zakódována při odeslání na server. Přepíše hodnotu atributu enctype formuláře. Nastaveno pouze pro pole type="submit" a type="image" . Možnosti:
application/-x-www-form-urlencoded je výchozí hodnota. Všechny znaky jsou před odesláním zakódovány (mezery jsou nahrazeny znakem +, speciální znaky jsou převedeny na ASCII HEX hodnoty)
multipart/form-data - znaky nejsou kódovány
text/plain - mezery jsou nahrazeny symbolem + a speciální znaky nejsou kódovány.
formulářová metoda Atribut určuje metodu, kterou prohlížeč použije k odeslání dat formuláře na server. Nastaveno pouze pro pole type="submit" a type="image" . Přepíše hodnotu atributu metody formuláře. Možnosti:
get je výchozí hodnota. Data z formuláře (pár jméno/hodnota) jsou přidána do adresy URL a odeslána na server: URL?name=value&name=value
post - formulářová data jsou odesílána jako http požadavek.
formnovalidat Určuje, že data pole formuláře by se při odeslání formuláře neměla ověřovat. Přepíše hodnotu atributu novalidate formuláře. Lze použít bez zadání hodnoty atributu.
formtarget Určuje, kde se zobrazí odpověď přijatá po odeslání formuláře. Nastaveno pouze pro pole type="submit" a type="image" . Přepíše hodnotu cílového atributu formuláře.


_parent – ​​načte odpověď do nadřazeného rámce
_top – načte odpověď na celou obrazovku
framename – načte odpověď do rámce se zadaným názvem.
výška Hodnota atributu obsahuje počet pixelů bez určení měrné jednotky. Nastavuje výšku pole formuláře typu type="image" , např. . Doporučuje se nastavit jak výšku, tak šířku pole současně.
seznam Je odkaz na prvek , obsahuje své id . Umožňuje uživateli poskytnout několik možností na výběr, když začne zadávat hodnotu do odpovídajícího pole.
max Umožňuje omezit povolený vstup číselných dat na maximální hodnotu, hodnota atributu může obsahovat celé číslo nebo zlomkové číslo. Tento atribut se doporučuje používat ve spojení s atributem min. Pracuje s následujícími typy polí: číslo, rozsah, datum, datum a čas, datum a čas-místní, měsíc, čas a týden.
maximální délka Atribut určuje maximální počet znaků zadaných do pole. Výchozí hodnota je 524288 znaků.
min Umožňuje omezit povolený číselný vstup na minimální hodnotu.
násobek Umožňuje uživateli zadat více hodnot atributů oddělených čárkou. Platí pro soubory a e-mailové adresy. Zadáno bez hodnoty atributu.
název Určuje název, který bude použit pro přístup k prvku , například v šablonách stylů css. Je analogický s atributem id.
vzor Umožňuje určit použití regulární výraz syntaxe dat, jejichž zadání do konkrétního pole musí být povoleno. Například pattern="(3)-(3)" - hranaté závorky nastavují rozsah přijatelných znaků, v tomto případě - jakákoli malá písmena, číslo ve složených závorkách znamená, že jsou potřeba tři malá písmena, následovaná pomlčkou, pak tři číslice v rozsahu od 0 do 9.
zástupný symbol Obsahuje text, který se zobrazuje ve vstupním poli před jeho vyplněním (nejčastěji se jedná o nápovědu).
pouze ke čtení Neumožňuje uživateli měnit hodnoty prvků formuláře; výběr a kopírování textu je stále k dispozici. Zadáno bez hodnoty atributu.
Požadované Zobrazí zprávu, že toto pole je povinné. Pokud se uživatel pokusí odeslat formulář bez zadání požadované hodnoty do tohoto pole, zobrazí se na obrazovce varovná zpráva. Zadáno bez hodnoty atributu.
velikost Nastaví viditelnou šířku pole ve znacích. Výchozí hodnota je 20. Pracuje s následujícími typy polí: text, hledání, tel, url, e-mail a heslo.
src Určuje adresu URL obrázku použitého jako tlačítko pro odeslání formuláře. Uvedeno pouze pro pole .
krok Používá se pro prvky, které vyžadují zadání číselných hodnot, označuje míru, o kterou se hodnoty zvýší nebo sníží během procesu úpravy rozsahu (kroku).
typ tlačítko - vytvoří tlačítko.
checkbox - změní vstupní pole na zaškrtávací políčko, které lze zaškrtnout nebo zrušit, např.
mám auto
barva – generuje barevné palety v podporovaných prohlížečích, což uživatelům umožňuje vybrat hodnoty barev v hexadecimálním formátu.
datum — umožňuje zadat datum ve formátu dd.mm.rrrr.
Narozeniny:
datetime-local - umožňuje zadat datum a čas oddělené velkým anglickým písmenem T pomocí vzoru dd.mm.yyyy hh:mm.
Narozeniny - den a čas:
email – Prohlížeče, které tento atribut podporují, budou očekávat, že uživatel zadá data, která odpovídají syntaxi e-mailových adres.
E-mailem:
soubor - umožňuje stahovat soubory z počítače uživatele.
Vyberte soubor:
skrytý - Skryje ovládací prvek, který prohlížeč nezobrazuje a brání uživateli ve změně výchozích hodnot.
obrázek - vytvoří tlačítko, které umožňuje vložit na tlačítko místo textu obrázek.
měsíc – Umožňuje uživateli zadat číslo roku a měsíce pomocí vzoru rrrr-mm.
číslo - určeno pro zadávání celočíselných hodnot. Jeho atributy min , max a step určují horní, dolní limit a krok mezi hodnotami. Tyto atributy se předpokládají u všech prvků, které mají číselné ukazatele. Jejich výchozí hodnoty závisí na typu prvku.
Uveďte množství (od 1 do 5):
heslo - vytváří textová pole ve formuláři, přičemž znaky zadané uživatelem jsou nahrazeny hvězdičkami, odrážkami nebo jinými ikonami nainstalovanými prohlížečem.
Zadejte heslo:
rádio - vytváří spínač - ovládání ve formě malého kruhu, který lze zapnout nebo vypnout.
Vegetariánský:
rozsah - umožní vám vytvořit prvek rozhraní, jako je posuvník, min / max - umožní vám nastavit rozsah výběru
reset - vytvoří tlačítko, které vymaže pole formuláře od uživatelem zadaných dat.
hledat - označuje vyhledávací pole, ve výchozím nastavení má vstupní pole obdélníkový tvar.
Vyhledávání:
odeslat - vytvoří standardní tlačítko, které se aktivuje kliknutím myši. Tlačítko shromažďuje informace z formuláře a odešle je ke zpracování.
text – vytváří textová pole ve formuláři, přičemž výstupem je jednořádkové textové pole pro zadávání textu.
čas - umožňuje zadat čas ve 24hodinovém formátu pomocí vzoru hh:mm. V podporovaných prohlížečích se zobrazuje jako ovládací prvek numerického vstupního pole s hodnotou upravitelnou myší a umožňuje zadávat pouze časové hodnoty.
Upřesněte čas:
url – pole je určeno pro specifikaci URL.
Domovská stránka:
týden - Odpovídající nástroj ukazatel umožňuje uživateli vybrat jeden týden v roce, po kterém bude poskytovat zadávání dat ve formátu nn-rrrr. V závislosti na roce může být počet týdnů 52 nebo 53.
Upřesněte týden:
hodnota Určuje text, který se objeví na tlačítku, v poli nebo v souvisejícím textu. Není určeno pro pole typu soubor.
šířka Hodnota atributu obsahuje počet pixelů. Umožňuje nastavit šířku polí formuláře.

4. Pole pro zadávání textu

Živel používá se místo prvku když potřebujete vytvořit velká textová pole. Text zobrazený jako původní hodnota je umístěn uvnitř značky. Rozměry pole se nastavují pomocí atributů cols - horizontální rozměry, řádky - vertikální rozměry. Výšku pole lze nastavit pomocí vlastnosti height. Všechny velikosti jsou vypočteny na základě velikosti jednoho znaku v jednoprostorovém písmu.

Tabulka 4. Atributy značek

7. Tlačítka

Živel vytváří tlačítka, na která lze kliknout. Na rozdíl od vytvořených tlačítek ( , , , ), uvnitř prvku .

Tlačítka umožňují uživatelům odeslat data do formuláře, vymazat obsah formuláře nebo provést nějakou jinou akci. Můžete vytvořit okraje, změnit pozadí a zarovnat text na tlačítku.

Tabulka 9. Atributy značek
Atribut Význam/Popis
autofokus Nastaví fokus na tlačítko při načtení stránky.
zakázáno Deaktivuje tlačítko, takže na něj nelze kliknout.
formulář Označuje jeden nebo více formulářů, ke kterým toto tlačítko patří. Hodnota atributu je identifikátor odpovídajícího formuláře.
formace Hodnota atributu obsahuje adresu URL obslužné rutiny dat formuláře odeslané po kliknutí na tlačítko. Pouze pro typ tlačítka type="submit" . Přepíše hodnotu atributu action zadaného pro prvek .
formanctype Nastaví typ kódování dat formuláře před jejich odesláním na server, když klepnete na tlačítka jako type="submit". Přepíše hodnotu atributu enctype zadaného pro prvek . Možné hodnoty:
application/x-www-form-urlencoded je výchozí hodnota. Všechny znaky budou před odesláním zakódovány.
multipart/form-data - znaky nejsou kódovány. Používá se při nahrávání souborů pomocí formuláře.
text/plain - znaky nejsou kódovány a mezery jsou nahrazeny symbolem +.
formulářová metoda Atribut určuje metodu, kterou prohlížeč použije k odeslání formuláře. Přepíše hodnotu atributu metody zadaného pro prvek . Určeno pouze pro tlačítka typu type="submit". Možné hodnoty:
get - data z formuláře (pár jméno/hodnota) jsou přidána do url a odeslána na server. Tato metoda má omezení velikosti odesílaných dat a není vhodná pro odesílání hesel a důvěrných informací.
příspěvek - údaje z formuláře jsou přidány jako http požadavek. Metoda je spolehlivější a bezpečnější než get a nemá žádná omezení velikosti.
formnovalidat Atribut určuje, že data formuláře by se při odeslání neměla ověřovat. Určeno pouze pro tlačítka typu type="submit".
formtarget Atribut určuje, ve kterém okně se má po odeslání formuláře zobrazit výsledek. Určeno pouze pro tlačítka typu type="submit". Přepíše hodnotu cílového atributu zadaného pro prvek .
_blank - načte odpověď do nového okna/záložky
_self - načte odpověď do stejného okna (výchozí)
_parent - načte odpověď do nadřazeného rámce
_top - načte odpověď na celou obrazovku
framename - načte odpověď do rámce se zadaným názvem.
název Nastavuje název tlačítka, hodnota atributu je text. Používá se k odkazu na data formuláře po odeslání formuláře nebo k odkazu na dané tlačítko (tlačítka) v JavaScriptu.
typ Definuje typ tlačítka. Možné hodnoty:
tlačítko - klikací tlačítko
reset — tlačítko reset, vrátí původní hodnotu
odeslat - tlačítko pro odeslání údajů formuláře.
hodnota Nastaví výchozí hodnotu odeslanou po kliknutí na tlačítko.

8. Zaškrtávací políčka a přepínače ve formulářích

Zaškrtávací políčka ve formulářích se nastavují pomocí konstruktu , a přepínač - pomocí .

Zaškrtávacích políček, na rozdíl od přepínačů, lze nastavit několik v jednom formuláři. Pokud je atribut zaškrtnuto určen pro zaškrtávací políčka, pak při načtení stránky budou zaškrtávací políčka v odpovídajících polích formuláře již zaškrtnuta.

Živel

Ve světě vývoje softwaru existuje mnoho mýtů a mylných představ. Abychom se posunuli vpřed a nestagnovali, je bezpodmínečně nutné je zničit. Dnes mluvíme o jedné z nejhlubších mylných představ, která je také docela škodlivá, nazvané „Mýtus povinného sexu“.

Budeme mluvit o téměř každém systému, který používá formuláře pro zadávání informací. Povinné pole je pole formuláře, bez kterého systém vaše informace nepřijme. Mezi velkou většinou softwarových vývojářů existuje názor, že požadovaná pole by měla být:

  1. Všechna pole nezbytná z hlediska subjektu (například celé jméno a datum narození osoby, pokud mluvíme o pasovém úřadu);
  2. Všechna pole nezbytná pro fungování systému (ta, bez kterých algoritmy nefungují - například datum, od kterého začíná poskytování služeb, aby se na ně dělalo časové rozlišení);
  3. Důležitá pole jsou ta, která nejsou nutná, ale nejlépe vyplnit (například zdůvodnění prováděné změny) - s motivací, že je lepší, aby se uživatel zapotil, když to není nutné, než aby zapomněl zadat hodnotu, když je to nutné.
Jak vidíte, existuje zde celý komplex mýtů, které je potřeba pečlivě a systematicky bořit. Začněme tedy dalšími dvěma mylnými představami.

Programátoři se tradičně domnívají, že zbytku světa prokazují laskavost tím, že pro ně vytvoří tak skvělý produkt, jako je „náhrada jakéhokoli názvu produktu“. Jejich program je téměř platónským eidos, čistou abstrakcí, matematickým vzorcem, vypočitatelným, samozřejmě, striktně na sadě parametrů ze své definiční oblasti. Z tohoto pohledu jsou povinná pole nepříjemnou maličkostí, kterou je třeba vkládat, aby se hloupí a neotesaní uživatelé naučili Že jo zadávat informace do systému, se kterým mají oprávnění pracovat.

Také se má za to, že nesprávná (neúplná) data jsou tak hrozná, že ani jejich uložení do databáze již není správné. No, lenost, samozřejmě - z pohledu vývojáře je jednodušší zkontrolovat správnost dat ve vstupní fázi a poslat uživatele, aby si svá data překontroloval, než psát zpracování chyb, kde budou tato data skutečně použita v systému.

Co na to říká moderní věda o designu uživatelských zkušeností? Za prvé se ukázalo (nevím komu a kdy, ale už docela dávno určitě, viz a), že programy jsou přece vyvíjeny pro uživatele. V tomto smyslu už programátor nediktuje podmínky, ale skromně vytváří čistě utilitární produkt, nástroj, který lidé využijí k řešení jejichúkoly a úspěchy jejich cíle. Jako žehlička – když potřebujete něco vyžehlit, zapnete to. Pokud místo žehlení modálně nabídne stahování aktualizací z internetu, je jasné, kam taková žehlička poletí. Alan Cooper doporučuje zobrazovat uživatele vašeho produktu jako velmi chytré, ale velmi zaneprázdněné lidi. Říkají, že nejsou hloupí a pochopí, jak používat váš produkt, hlavní věc je, že jim prostě nestojíte v cestě.

Obecně se domnívám, že každý programátor (designér, manažer, analytik) by měl dělat meditaci zmíněnou Sergejem Bodrovem Jr.:

Stojíte na rohu rušné ulice a představujete si, že tam nejste. Nebo spíš vůbec neexistuješ. Chodci chodí, auta troubí, otevírají se dveře obchodů, cestující se převlékají na zastávce. To znamená, že svět v zásadě nadále žije bez vás. To je bolestivé pochopit. Ale je důležité...
Nechci samozřejmě říkat, že být programátorem je zbytečné povolání, sám jsem programátor a vůbec si to nemyslím. Je to prostě nevděčné povolání. Nikdo vás nepřijde pochválit za dobře implementovaný algoritmus. Pokud je program dobrý, bude použit bez dalších otázek. Tak to má být, prostě být programátorem si musíte zvyknout. A tito lidé, kteří chodí po ulici a střídají se na zastávce, jsou vašimi uživateli. Používají věci tak, jak je používají jim potřeboval. Včetně vašeho produktu. Bez tebe. Nic o vás nevědí, nechtějí vědět a nikdy se to nedozví. Sergeje Vitalieviče, když je v polární tundře a snaží se zadat údaje odebrané z měřiče do systému, se vůbec nezajímá o to, proč mu systém říká, že nejprve musíte uvést nějaký typ tarifikace, i když v době designu se vám zdálo, že bez tarifikačního typu to nejde obejít. Pokud jde o příklad o stahování aktualizací železa, nebyl převzat z čistého vzduchu - věnujte pozornost tomu, jak se chová prohlížeč Firefox po zapnutí.

Bude tam vůbec něco o povinných polích, ptá se Habrowser? Už to začíná.

Jde o to, že náš skutečný svět není matematický model, jehož parametry jsou kdykoli známé. Skutečný život je charakterizován spíše nedostatkem informací než jejich přítomností. Osoba vyplňující formulář nemusí mít požadované údaje – a nemusí je mít ve všech předvídatelných mezích dosahu, to znamená, že nakonec nemusí existovat. Tento problém nelze vyřešit jednoduchým nastavením pole jako povinného – hodnota nebude vytažena ze vzduchu. Zavedením povinných polí na formulářích z důvodu integrity a úplnosti dat vlastně zasahujeme do používání systému. Tváří v tvář takové situaci uživatel buď formulář nevyplní (a nebude moci se systémem vůbec pracovat), nebo chybějící údaje doplní rybičkami – údaji fiktivními či nesmyslnými. A to neznamená, že uživatel je špatný nebo se moc nesnažil, ale pouze to, že vyvinutý systém není dostatečně flexibilní pro použití v podmínkách nemovitý mír. To, co se stalo v druhém případě (představení ryb), je totální podvod. Vývojář systému se může tvářit, jak chce, že je vše v pořádku, ale ve skutečnosti je to on, kdo za tento podvod může. Navíc není jasné, kdo a co vyhrál - uživatele bolela hlava a do systému se dostaly nesprávné údaje. Ano, dostaly se do takové situace, že je již není možné automaticky detekovat, filtrovat ani čistit – na rozdíl od případu, kdy uživatel pouze naznačil, že informace chybí.

Co dělat? Musíte dělat dobré programy. Totiž, ano, nestavte do popředí integritu databázového schématu, ale dejte tam cíle a cíle uživatelů. Jinými slovy, přijímání neúplných a v některých případech nesprávných údajů od uživatele, samozřejmě s možností je v budoucnu opravit. Na rozdíl od mylné představy (ano, jiné) to možné je, není to tak těžké a dokonce to funguje. Navíc je stále potřeba nějak pomoci, sdělit uživateli kde, jaká data a proč mu chybí. Aby situaci viděl a řídil.

Kolik povinných polí má formulář obsahovat? Ideálně nula. Je to vždy možné? Pro mě je jedním z příkladů letecké akrobacie operace vytváření složky ve Windows. Zdálo by se, že méně než jedno pole zde nezvládnete, ale ne, vytvoření se podařilo implementovat tak, že se systém na nic neptá - i když technická omezení nedovolují systému vytvořit složku beze jména. To je ideál, o který je třeba usilovat.

Systém samozřejmě musí být minimálně inteligentní, ptát se uživatele pouze na to, co je relevantní pro jeho úkoly, nikoli pro potřeby samotného systému. Systém je jako nástroj, pamatujete? Jen o příkladu s Firefoxem - Google Chrome například vyřešil problém Firefoxu tak, že se tiše aktualizuje v okamžiku, kdy jej uživatel restartuje. Uživatel o tom vůbec nemusí vědět – neví. Příklad hodný následování. Musím přiznat, že jsem zpočátku ani nechápal, proč se mě nikdy nezeptal, kdy by měl aktualizovat?

Vznikl také mýtus o důležitých polích (to jsou ta, která jsou nepovinná, ale je žádoucí je vyplnit). Zde je vše ještě jednodušší - nemůžete vyplnění pole vynutit. I když tedy pole označíte jako povinné, nebo je neoznačíte, stejně budou psát ryby, nesmysly, odhlásit se, pokud je nebudou chtít vyplňovat. Pro tento problém neexistuje žádné řešení rozhraní. O důležitosti oborů je třeba informovat pracovníky v terénu. A vývojář by měl označit pole jako nepovinné. A nech mě upravit.

Literatura:

  1. Alan Cooper o rozhraní. Základy interakčního designu. Symbol-Plus, 2009
  2. Jeff Raskin. Rozhraní: nové směry v návrhu počítačových systémů. Symbol-Plus, 2005

UPD: V komentářích byla srozumitelněji formulována hlavní morálka tématu: mluvíme o systému návrhů, o odstranění požadavku zadávat všechna data najednou a důsledně. To znamená, že ano, udělejte volitelná i ta pole, bez kterých systém nebude fungovat. Samozřejmě to nebude fungovat, ale alespoň to zachrání data.

UPD #2: Dovolte mi upřesnit ještě jednu věc, které jsem si sám nebyl jasně vědom, když jsem téma psal. Nemluvím zde o vhodnosti určitých polí na formuláři (jedná se o důležité, ale přece jen trochu jiné téma, než které chci sdělit). Spíše navrhuji přehodnotit samotný koncept zadávání informací pomocí formulářů, ten tradiční přístup, kdy potřebujete vyplnit celý formulář najednou a správně. Místo toho navrhuji, aby mezistav (neúplný, nesprávný, protichůdný) bylo také možné uložit do databáze, výslovně označit takový stav jako neúplný/nesprávný/nekonzistentní. Všechny situace „teď nevím všechno, ale možná zítra budu“, které se tradičně řeší napsáním na papír, lze zpracovat pomocí informačního systému. Taková data by samozřejmě neměla být vpuštěna do obchodního procesu kvůli jejich nesprávnosti - vše zůstává jako dříve. Prostě budou ležet v databázi do lepších časů - nebudou k užitku, no, Bůh jim žehnej.

Maximum informací v minimu slov.

Způsob označení polí výrazně ovlivňuje to, jak uživatelé formulář vnímají a jak jej vyplňují.

Z psychologického hlediska je vše docela jednoduché: poukázat na pozitivní aspekty je lepší, protože při rozhodování uživatele věří, že má na výběr.

Na druhou stranu, pokud zadáte požadovaná pole, uživatel se bude cítit jako v pasti, omezený a nepohodlný.

Označte nepovinná pole, ne naopak

Většina návrhářů používá k označení povinných polí hvězdičky. Ale musíte s tím přestat. Výzkum na toto téma jasně ukazuje, že používání hvězdiček pro povinná pole je běžnou chybou.

Je lepší označit nepovinná pole spíše než povinná, protože:

  • Hvězdička je zřejmá pro vás a ne pro každého, věřte, že se vždy najdou tací, kteří nerozumí
  • Povinných polí je vždy více než volitelných
  • Čím méně vizuálního šumu má váš formulář, tím je čitelnější, a proto se rychleji vyplňuje.

Ne Požadované vs Volitelný

Pokud píšete text v angličtině, nezapomeňte, že ve všech případech jsou zápory méně jasné. K popisu volitelných polí proto použijte slovo „Volitelné“ místo „Nevyžadováno“.

Nežádejte uživatele, aby poskytovali zbytečné informace. Pokud máte příliš mnoho dalších (nepovinných) polí, je to špatné a je to znát. Ani vy, ani já nemáme rádi tvary ruliček toaletního papíru.

POZICE

O pořádání otevřených soutěží družstev a jednotlivců

Pro silový trojboj a tlak na holé lavici,

Podolská a Moskevská oblast

1. Záměry a cíle

· V Podolsku a Moskevské oblasti se konají soutěže na popularizaci silového trojboje

· Vychovávat fyzicky vyvinutou mladší generaci a podporovat zdravý životní styl

· Zapojování mládeže do systematické tělesné výchovy a sportu

· Vytváření motivace dospívajících a mladých lidí k tělesné výchově

· Zlepšení sportovního ducha sportovců v Podolsku a Moskevské oblasti

· Identifikace nejsilnějších sportovců v Podolsku a Moskevské oblasti

· Sestavení týmu, který bude účinkovat na otevřených týmových soutěžích v silovém trojboji v Podolsku

2. Datum a místo

Soutěž se koná 16. listopadu 2013 v Paláci kultury 1. května: Moskevská oblast, Klimovsk, Zavodskaja ulice, 3. Začátek soutěže a vážení bude oznámeno dodatečně (e-mailem nebo SMS).

3. Organizace a vedení

Generální organizaci soutěže zajišťuje Středisko občanské a vlastenecké výchovy mládeže MU „Fakel“ a tělocvična „Dobrý výtah“ za účasti podolské pobočky Všeruské všesvazové organizace „Bojové bratrstvo“. “ a Charitativní nadace „Zdravý národ“.



Přímý dohled provádí trenér sportovní gymnastiky Fakel MU Popov S.A. a ředitel Good Lift gym P.S. Yakovlev. a zástupce charitativní nadace „Zdravý národ“ I. F. Rabotkin.

4. Účastníci soutěže

K účasti v soutěžích jsou zvány zainteresované organizace a instituce i jednotliví sportovci, kteří dosáhli věku 16 let a podali osobní přihlášku k účasti v soutěži.

Pořadatelé si vyhrazují právo později oznámit standardy pro vstup do soutěží s povinným upozorněním sportovců (e-mailem nebo SMS).

Pořadatelé si vyhrazují právo v případě překročení počtu přihlášek nejpozději do 9. listopadu 2013 vyhlásit standardy pro přijímání do soutěží s povinným upozorněním sportovců zveřejňováním informací v otevřených zdrojích, jakož i zasíláním SMS a e-mailových zpráv. .

5. Postup při pořádání soutěží a podmínky pro podávání přihlášek

Přihlášky k účasti v soutěžích je nutné podat do 9. listopadu 2013 na email: [e-mail chráněný] nebo SMS zprávou na číslo +79099250337 (cena SMS se rovná ceně SMS zprávy od vašeho telekomunikačního operátora).

Pozornost! Správný formulář žádosti naleznete v příloze 1.

6. Postup pro určení výherců

Pozornost! Soutěžní hodnocení se provádí podle pravidel IPF (viz Příloha 2)

Soutěže se konají v otevřené věkové kategorii (Open).

v šampionátu jednotlivců:

Ženy soutěží v absolutní váhové kategorii, vítěze (kteří se umístí na 1.-2.-3. místě) určuje Wilksův vzorec.

Vítězové u mužů jsou určeny v Kategorie do 75 kg, do 90 kg, do 110 kg a nad 110 pro nejlepší výsledek. Vítězové v absolutní mistrovství (sportovci, kteří obsadili 1-2-3 místa) v triatlonu a tlaku na lavičce se určují podle Wilksova vzorce.

V mistrovství družstev Započítávají se 4 nejlepší výsledky členů družstva a 1 výsledek ženy

Body se udělují podle následujícího schématu:

1. místo – 6 bodů

2. místo – 4 body

3. místo – 3 body

4. místo – 2 body

5. místo – 1 bod

Vítězem mistrovství družstev se stává tým, který ze všech týmů získá maximální počet bodů.

7. Slavnostní vyhlášení vítězů

Vítězové a vítězové v mistrovství jednotlivců a družstev, kteří se umístili na 1-3 místech v nominacích, jsou odměněni pamětními listy a medailemi.

8. Financování

Náklady spojené s organizací, průběhem a odměňováním výherců nesou pořadatelé soutěže, zainteresované organizace a sponzoři. Náklady spojené s cestováním a stravováním účastníků hradí vysílající organizace. Vstupné se neplatí.

Příloha 1

Ukázka přihlášky (zaslaná e-mailem nebo SMS):

1. nominace: například bench press nebo triatlon.

2. název týmu nebo osobní označení *

3. Celé jméno *–

4. Rok narození *–

6. číslice *–

7. nejlepší výsledek * (za posledních 6 měsíců) -

8. věk* -

9. trenér -

10. kontaktní telefonní číslo (nejlépe mobilní telefon)* -

Pole označená hvězdičkou jsou povinná.

Pozornost! Všichni účastníci v den soutěže musí mít víza potvrzená lékařem a pas nebo občanský průkaz (průkaz, vojenský průkaz). Bez těchto dokladů nebude sportovcům umožněno soutěžit.

Dodatek 2

Pravidla soutěže:

  1. Vystoupení na závodech probíhá bez použití náčiní (trička, kombinézy, kolenní bandáže pro silový trojboj).
  2. Můžete použít: bandáže na zápěstí, opasky (maximální šířka opasku – 10 cm).
  3. V případě potřeby můžete použít nepodporující obvaz (na jednu nohu nebo ruku). Nepodporující obvazy jsou běžné lékařské obvazy. Před použitím musí být obvaz předložen rozhodčímu.
  4. Cvičení se provádí podle pravidel IPF

Dřepy(pravidla a pořadí provedení).

Po sejmutí hrazdy (asistenti mohou poskytnout asistenci) sportovec zaujme výchozí pozici.

Poté, co závodník přijal výchozí pozici, dá rozhodčí povel SEDNI.

Sportovec dřepne tak, že horní část nohou v kyčelních kloubech je níže než horní část kolen. Je povolen pouze jeden pokus o pohyb dolů.

Sportovec se musí samostatně vrátit do svislé polohy s nohama zcela narovnanými v kolenou. Dvojité vstávání („skákání“ je zakázáno).

Jakmile sportovec zaujme nehybný postoj, dá rozhodčí povel k vrácení činky do stojanů – RACKS.

- Zakázáno- Nerespektování signálů hlavního rozhodčího při zahájení nebo ukončení cvičení. Dvojitý stoj (výskok) ze spodu pozice dřepu nebo jakýkoli pohyb dolů při vstávání. Chybou je pokrčení nohou v kolenou a snížení těla do polohy, kdy je horní plocha nohou v kyčelních kloubech níže než horní část kolen.

Bench press(pravidla a pořadí provedení)

Sportovec by měl ležet na zádech, s hlavou, rameny a „celými“ hýžděmi v kontaktu s povrchem lavičky. Podešev a paty jeho bot musí být v kontaktu s povrchem platformy nebo bloků (pokud to tvar bot umožňuje).

Prsty by se měly omotat kolem tyče ležící na stojanech, přičemž palce by měly být „zamčeny“ kolem tyče. Tato poloha musí být zachována během

provedení cvičení. Použití obráceného úchopu je zakázáno.

Pro zajištění pevné podpory nohou může sportovec použít ploché desky nebo bloky ne vyšší než 30 cm od povrchu plošiny.

Vzdálenost mezi rukama na hrazdě, která se měří mezi ukazováky, by neměla přesáhnout 81 cm (oba ukazováčky by měly být uvnitř značek 81 cm).

Po sejmutí tyče ze stojanu s pomocí nebo bez pomoci asistentů musí sportovec čekat na signál od vrchního rozhodčího s rukama zcela narovnaným („zapnutým“) v loktech.

Signál k zahájení lisování musí být dán, jakmile zvedák zaujme stacionární polohu.

pozici a tyč bude ve správné poloze. Signálem k zahájení cvičení je povel – START.

Po obdržení signálu musí sportovec spustit činku na hruď a držet ji ve stacionární poloze na hrudi (nejčastěji na bázi hrudní kosti), načež rozhodčí vydá povel – STISKNĚTE. Poté musí sportovec stisknout činku nahoru do rovných paží. Po zafixování laťky v této poloze vydá rozhodčí povel - REGÁLY.

- Zakázáno– Jakákoli chyba při plnění příkazů rozhodčího. Jakákoli změna výchozí pozice při provádění cviku (jakékoli zvedání (oddělování) hlavy, ramen, hýždí od lavičky nebo pohyb nohou na plošině nebo blocích nebo pohyb paží podél tyče). Jakýkoli pohyb činky směrem dolů během bench pressu. Nedostatek mačkání činky s plně narovnanými pažemi na konci cvičení.

6. Mrtvý tah (pravidla a pořadí provedení)

Sportovec musí být čelem k přední části plošiny. Činka, která je umístěna vodorovně před nohama sportovce, je držena volným úchopem oběma rukama a zvedá se, dokud se sportovec nepostaví vzpřímeně.

Po dokončení zvedání činky v mrtvém tahu by měla být kolena zcela narovnaná a ramena by měla být stažena dozadu.

Rozhodčí dává povel – DOLŮ.

Jakékoli zvedání činky nebo jakýkoli úmyslný pokus o její zvednutí se považuje za přiblížení. Jakmile zvedák začne, není povolen žádný pohyb činky směrem dolů, dokud zvedák nedosáhne svislé polohy s plně nataženými koleny. Pokud se tyč při zatažení ramen prověsí, není to důvod nepočítat zvednuté závaží.

- Zakázáno– jakýkoli pohyb dolů až do dosažení konečné polohy. Při zvedání podepřete činku stehny. Kroky vzad nebo vpřed. Spouštění činky na povel. Při provádění povelu dolů uvolněte činku z rukou.