Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Π’Π΅Ρ…Π½ΠΈΠΊΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π˜Ρ€Π΅ АдСринокун β€” Β«Form validation techniquesΒ».

Ни для ΠΊΠΎΠ³ΠΎ Π½Π΅ сСкрСт, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π»Π°ΠΉΠ½-Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌ испытаниСм для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ОсобСнно ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ выглядят ΠΊΠ°ΠΊ список ΠΏΠΎΠ»Π΅ΠΉ для Π²Π²ΠΎΠ΄Π° Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ подсказок. Однако ΠΌΡ‹, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Тизнь посСтитСлям Π½Π°ΡˆΠΈΡ… сайтов.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ CSS

Π’ CSS сущСствуСт Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… псСвдокласса, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… ΠΊ полям Ρ„ΠΎΡ€ΠΌΡ‹: :valid (Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅), :invalid (Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ΅), :required (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅) ΠΈ :optional (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅). Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ β€” хотя ΠΈ вСсьма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ β€” подсказки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстированииБтилизация псСвдоклассов :valid ΠΈ :invalid

Бтилизация состояний :required ΠΈ :optional сама ΠΏΠΎ сСбС Π½Π΅ особо ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эта информация ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ указываСтся Π² подписях ΠΊ полям Ρ„ΠΎΡ€ΠΌΡ‹. Однако ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ эти состояния с псСвдоклассами :valid / :invalid ΠΈ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ. НапримСр, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ лишь ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΊ заполнСнию ΠΏΠΎΠ»Π΅.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстированииБтилизация ΠΏΠΎ :valid ΠΈ :required

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ JavaScript

JavaScript Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС возмоТностСй для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ‚Ρ€ΠΈ числовых поля, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… установлСн ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π² 10, максимум Π² 100 ΠΈ шаг Π² 10 Π΅Π΄ΠΈΠ½ΠΈΡ†.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстированииБтандартный Ρ‚ΡƒΠ»Ρ‚ΠΈΠΏ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ всё, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ β€” это сообщСниС ΠΎΠ± ошибкС для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поля. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² этом сообщСнии Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ΠΎ лишь ΠΎΠ΄Π½ΠΎ нСсоотвСтствиС ΠΈΠ· Π΄Π²ΡƒΡ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ…. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, измСняя ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ΠΎΠΌ сообщСния.

ДобавляСм нСсколько сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² ΠΎΠ΄ΠΈΠ½ Ρ‚ΡƒΠ»Ρ‚ΠΈΠΏ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π²ΠΎΡ‚ это:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ нСсколько ошибок Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ‚ΡƒΠ»Ρ‚ΠΈΠΏΠ΅

Π‘Ρ‚Π°Π»ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ всС сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, связанныС с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ»Π΅ΠΌ. Однако другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всё Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π΅ΡˆΠ΅Π½Π°: ошибки ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ лишь для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поля.

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ, устанавливаСмоС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ.

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ всС ошибки для всСх ΠΏΠΎΠ»Π΅ΠΉ.

ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный Ρ‚ΡƒΠ»Ρ‚ΠΈΠΏ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² DOM. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всС ошибки Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ рядом с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»Π΅ΠΌ.

Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΠ°Ρ€ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… строчСк Π² нашСм ΠΊΠΎΠ΄Π΅:

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° submit Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ всС ошибки для всСх ΠΏΠΎΠ»Π΅ΠΉ Π² DOM

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ нСстандартныС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ валидности

Иногда встроСнной Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π±Ρ‹Π²Π°Π΅Ρ‚ нСдостаточно. Нам ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ удовлСтворяли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² тСкстовом ΠΏΠΎΠ»Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ особыС символы.

Валидация Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Π₯отя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ способ выглядит Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π±Π΅Π· изъянов. ΠΠ°ΠΈΡ…ΡƒΠ΄ΡˆΠΈΠΉ ΠΈΠ· Π½Π΅Π΄ΠΎΡ‡Ρ‘Ρ‚ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ смоТСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… сообщСний, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΆΠΌΡ‘Ρ‚ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ссли Π±Ρ‹ валидация поля происходила сразу ΠΆΠ΅ ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. МоТно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ с Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ свои силы (ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎΡ‚ этим шаблоном.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Валидация ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способах Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ свои Π·Π°Π΄Π°Ρ‡ΠΈ.

Валидация ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HTML

ПолС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ заполнСнию

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²ΠΎΠ΄Π° Email

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²ΠΎΠ΄Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎ количСству символов

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²ΠΎΠ΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²ΠΎΠ΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, возмоТности Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HTML5 достаточно ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² состоящих ΠΈΠ· рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ практичСски любой слоТности.

Валидация ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript

НаиболСС слоТный способ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π½Π° чистом JavaScript Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ простой Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи:

ΠžΠ±Ρ€Π°Ρ‰Π°Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² свойствах Ρ„ΠΎΡ€ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ onsubmit=»return(validate());», Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ validate() ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹. Π’Π΅ΠΏΠ΅Ρ€ΡŒ собствСнно сама функция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° E-mail

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°

Валидация ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π° jQuery Validation Plugin

Π”Π°Π½Π½Ρ‹ΠΉ способ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простой ΠΈ эффСктивный. ЕдинствСнным нСдостатком слуТит Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ jQuery ΠΈ самого ΠΏΠ»Π°Π³ΠΈΠ½Π°. Если вас это Π½Π΅ смущаСт, Ρ‚ΠΎΠ³Π΄Π° смотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

Π­Ρ‚ΠΎΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² настроСк. Для Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ jQuery ΠΈ jQuery Validation.

Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠ°Ρ Ρ„ΠΎΡ€ΠΌΠ° для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ запустим ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Π§Ρ‚ΠΎ ΠΏΠΈΡˆΡƒΡ‚ Π² Π±Π»ΠΎΠ³Π°Ρ…

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒ Ρ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ статусом ΠΊΠ½ΠΈΠ³ΠΈ.

I’m sticking with β€œbug” rather than adopt another word such as β€œfault,” which is the current fad in publications because:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Онлайн-Ρ‚Ρ€Π΅Π½ΠΈΠ½Π³ΠΈ

Π§Ρ‚ΠΎ ΠΏΠΈΡˆΡƒΡ‚ Π² Π±Π»ΠΎΠ³Π°Ρ… (EN)

Π Π°Π·Π΄Π΅Π»Ρ‹ ΠΏΠΎΡ€Ρ‚Π°Π»Π°

ΠŸΡ€ΠΎ инструмСнты

Автор: ΠšΡ€ΠΈΡΡ‚ΠΈΠ½ Π”ΠΆΠ΅ΠΊΠ²ΠΎΠ½ΠΈ (Kristin Jackvony)
ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΡΡ‚Π°Ρ‚ΡŒΠΈ
ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄: Ольга Алифанова

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

ВСкстовоС ΠΏΠΎΠ»Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ каТСтся Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ это ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ тСкстовыС поля Π΄Π°ΡŽΡ‚ доступ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈ Π΅Π³ΠΎ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Валидация тСкстового поля – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ появлСниС Π² Π±Π°Π·Π΅ ΠΏΠ»ΠΎΡ…ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Валидация Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π°Ρ‚Π°ΠΊΠΈ мСТсайтового скриптинга ΠΈ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ.

Π’Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкстовоС ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ способов, ΠΈ я ΠΊΠΎΡΠ½ΡƒΡΡŒ этих способов Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅. Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ прСдставим, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ тСстируСм тСкстовоС ΠΏΠΎΠ»Π΅, Π½Π΅ имСя Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π½Π°Π΅ΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² это ΠΏΠΎΠ»Π΅, ΠΈ ΠΊΠ°ΠΊΠΎΠ²Ρ‹ ограничСния для Π΄Π°Π½Π½Ρ‹Ρ…:

Для всСх Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… тСстов выяснитС, ΠΊΠ°ΠΊΠΎΠ΅ сообщСниС ΠΎΠ± ошибкС Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ, ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ сообщСниС.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Если Π²Ρ‹ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ протСстировали вашС ΠΏΠΎΠ»Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅Ρ‚ нСобходимости Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ваши тСсты. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„ΠΎΡ€ΠΌ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ поля Π²Π²ΠΎΠ΄Π°, ΠΈ ΠΊΡƒΡ‡Π° тСстов для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ поля – это ΠΊΡƒΡ‡Π° ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡ€ΠΎΠ³ΠΎΠ½. Π’ΠΎΡ‚ нСсколько совСтов, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

Π­Ρ‚ΠΎ Π½Π΅ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ список, Π° просто способ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ вас ΠΊ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡΠΌ ΠΎ большом количСствС тСстов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Π½Π°Ρ‚ΡŒ, тСстируя СдинствСнноС ΠΏΠΎΠ»Π΅. НС Π²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π° слово, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, создававший ΠΏΠΎΠ»Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΅Π΅ сами! Как-Ρ‚ΠΎ Ρ€Π°Π· я тСстировала ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π΄Π°Ρ‚Ρ‹, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ΄ – ΠΎΠ½ Π½Π΅ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ мСньшС 1900 ΠΈΠ»ΠΈ большС, Ρ‡Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π³ΠΎΠ΄. Π― ΠΏΠΎΠ»ΡƒΡ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ сообщСниС ΠΎΠ± ошибкС, вводя 1880, Π½ΠΎ Π΄Π°Ρ‚Ρ‹ 1300 Π³ΠΎΠ΄Π° Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡŒ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Валидация ΠΈ вСрификация: понятия, сходства ΠΈ отличия

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Когда Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΡˆΡŒ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ тСстирования, Ρ‚ΠΎ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅ΡˆΡŒΡΡ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ ΠΊΠ°ΠΊ вСрификация ΠΈ валидация.

Π’ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ слоТно Π½Π°ΠΉΡ‚ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этих Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΈΡ… отличия (ΠΈ это нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ вопросы ΠΎΠ± этих понятиях ΠΎΡ‡Π΅Π½ΡŒ часто Π·Π²ΡƒΡ‡Π°Ρ‚ Π½Π° собСсСдованиях ΠΏΡ€ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ² Π½Π° Π²Π°ΠΊΠ°Π½Ρ‚Π½ΠΎΠ΅ мСсто QA-спСциалиста).

Π”Π°Π»Π΅Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ постараСмся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² этих Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ПО

Π’ сфСрС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ вСрификация считаСтся Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΌ понятиСм, Ρ‡Π΅ΠΌ тСстированиС. Π•Π΅ Ρ†Π΅Π»ΡŒ – это достиТСниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (ПО) ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт трСбованиям, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ всС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠΉ спСцификации ΠΈ ΠΎΠ±Π³ΠΎΠ²ΠΎΡ€Ρ‘Π½Π½Ρ‹Π΅ стандарты качСства.

Π›ΡŽΠ±ΠΎΠΉ процСсс Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя инспСкции, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π°Π½Π°Π»ΠΈΠ· ΠΈΡ‚ΠΎΠ³ΠΎΠ² тСстирования, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΎΠ² ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ расписаны всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² сфСрС тСстирования ПО Π΅ΡΡ‚ΡŒ общСпринятый постулат ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ процСсс ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

ВСрификация – это Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ процСсс ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° качСства ПО, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт согласиС с установлСнными ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ, стандартами ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ спСцификациСй.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ: процСсс провСдСния тСстирования систСмного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. ΠžΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ трСбованиями, ΠΌΡ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ процСсс тСстирования ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ, ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½Ρ‹ Π»ΠΈ трСбования. Π’ ΠΊΠΎΠ½Ρ†Π΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° вопрос: Β«ΠžΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π»ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π·Π°Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ трСбованиям?Β».

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ПО

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ считаСтся спСцифичСский процСсс, Ρ†Π΅Π»ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎ врСмя функционирования систСмы Π΄ΠΎΡΡ‚ΠΈΠ³Π°ΡŽΡ‚ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ для Π΅Π΅ нСпосрСдствСнного использования. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, валидация – это ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соотвСтствия созданной систСмы Ρ‚ΠΎΠΌΡƒ оТиданию, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ·Π²ΡƒΡ‡ΠΈΠ» ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

Если Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° эти процСссы с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния вопроса, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚, Ρ‚ΠΎ Π² случаС Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ это: Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано; ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π»ΠΈ систСма ΠΎΠ·Π²ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ клиСнтским оТиданиям? А валидация – сдСлано ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΈΠ»ΠΈ всСцСло Π»ΠΈ данная систСма соотвСтствуСт Ρ‚Π΅ΠΌ оТиданиям ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ Ρ€Π°Π½Π΅Π΅ ΠΎΠ·Π²ΡƒΡ‡Π΅Π½Ρ‹?

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ

ВСрификацияВалидация
По Ρ„Π°ΠΊΡ‚Ρƒ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° вопрос, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ создаСтся ΠΈ тСстируСтся ПО ΠΈ всС Π»ΠΈ трСбования ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ этом.ΠžΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° вопрос, создаСтся Π»ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.
Π’ процСссС Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ убСТдаСмся Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вСсь созданный Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» прилоТСния Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ логичСски Π²Π΅Ρ€Π½ΠΎ.ΠŸΡ€ΠΈ процСссС Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ убСТдаСмся Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт повСдСнию, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ оТидаСтся ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π½Π°Π΅Ρ‚ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.
Π’ структуру Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ входят Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ свСрка Π·Π°Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ трСбованиям, тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° любом этапС создания ΠΈ тСстирования ПО.Валидация, ΠΏΠΎ своСй сути, Π² большСй стСпСни Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΎΠ±Ρ‰ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ ПО ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΌΠ½Π΅Π½ΠΈΠΈ ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

ИспользованиС Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ сайт. Для Π²Ρ…ΠΎΠ΄Π° Π½Π° страницу Π²Π΅Π±-сайта, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΠΉΡ‚ΠΈ Π² систСму ΠΏΠΎΠ΄ своим Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠΌ.

Π˜Ρ‚Π°ΠΊ, Π΅ΡΡ‚ΡŒ опрСдСлСнная Ρ„ΠΎΡ€ΠΌΠ° с полями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Π€ΠΎΡ€ΠΌΠ° с полями для заполнСния

Для Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ:

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС поля ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅, ΠΈ Π² Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ занСсти Π΄Π°Π½Π½Ρ‹Π΅, согласно ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌ обозначСниям ΠΈ наимСнованиям.

ПослС этого происходит валидация:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° основС Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ…ΠΎΠ΄Π°/рСгистрации Π² Ρ€Π°ΠΌΠΊΠ°Ρ… популярной ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Facebook.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

РСгистрация Π½Π° Facebook

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ спСцификация ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»Π΅ΠΉ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ страницС Π΅ΠΉ всСцСло соотвСтствуСт. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· этого Ρ„Π°ΠΊΡ‚Π°, вСрификация ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

Π”Π°Π»ΡŒΡˆΠ΅ нашСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ Π·Π°Ρ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ этот процСсс, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²Π²Π΅Π΄Π΅ΠΌ Π½Π΅Π²Π΅Ρ€Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² поля Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ….

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

НСвСрная информация ΠΏΡ€ΠΈ рСгистрации Π½Π° Facebook

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅, ввСдСнная информация Π½Π΅ ΠΏΡ€ΠΎΡˆΠ»Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΈ систСма Π½Π΅ пустила нас дальшС, Ρ‡Ρ‚ΠΎ ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Валидация Ρ„ΠΎΡ€ΠΌ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля Ρ„ΠΎΡ€ΠΌΡ‹ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π­Ρ‚ΠΎ называСтся Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ трСбованиям. Данная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Ρ‚ вас Ρ‡Π΅Ρ€Π΅Π· основныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования:Π’Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, достаточноС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ HTML, CSS, ΠΈ JavaScript.
ЦСль:ΠŸΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ для Π΅Ρ‘ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Валидация Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° β€” это пСрвичная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, которая сущСствСнно ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ удобство взаимодСйствия с интСрфСйсом; ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡ… ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. Если ΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° происходит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС, процСсс заполнСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄ΠΎΡ‘ΠΌΠΊΠΈΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ повторСния ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ дСйствий ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр для получСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° с сообщСниСм ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Однако, Π½Π΅ слСдуСт Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΊΠ°ΠΊ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΌΠ΅Ρ€Ρƒ бСзопасности! Π›ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, отправляСмыС Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΡƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π½Π° сторонС сСрвСра, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° достаточно просто ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΈ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ². Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ³Ρ€ΠΎΠ·Ρ‹, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ вСбсайтов; валидация Π½Π° сторонС сСрвСра Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ этого модуля, Π½ΠΎ ΠΎ Π½Π΅ΠΉ слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация Ρ„ΠΎΡ€ΠΌΡ‹?

Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° любой популярный сайт, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΡƒ рСгистрации. Π’Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ сразу ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡŽΡ‚ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС:

Π­Ρ‚ΠΎ называСтся Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹. По ΠΌΠ΅Ρ€Π΅ Π²Π²ΠΎΠ΄Π°, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ/ΠΈΠ»ΠΈ сСрвСр ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ. Валидация, выполняСмая Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, называСтся Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π° выполняСмая Π½Π° сСрвСрС β€” Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° сторонС сСрвСра. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ сосрСдоточимся Π½Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ, выполняСмой Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Если Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π΅Π½, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ позволяСт ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° сСрвСр ΠΈ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ) ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС выводится сообщСниС с описаниСм Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, позволяя ввСсти Π΄Π°Π½Π½Ρ‹Π΅ снова.

ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ максимально ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌ. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ настаиваСм Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…? На это Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ основныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:: Никогда Π½Π΅ довСряйтС Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌ Π½Π° сСрвСр клиСнтской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π”Π°ΠΆΠ΅ Ссли ваша Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ валидируСтся ΠΈ Π½Π΅ допустит Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ врСдоносных Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сСтСвой запрос.

Π’ΠΈΠΏΡ‹ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

БущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Ρ‘Ρ‚Π΅ΡΡŒ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅:

ИспользованиС встроСнной Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ

Одной ΠΈΠ· самых Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ элСмСнтов Ρ„ΠΎΡ€ΠΌ HTML5 являСтся ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Γ³Π»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· использования JavaScript. Π­Ρ‚ΠΎ выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Ρƒ элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹. МногиС ΠΈΠ· Π½ΠΈΡ… ΠΌΡ‹ ΡƒΠΆΠ΅ рассмотрСли Π² этом курсС:

Если Π΄Π°Π½Π½Ρ‹Π΅, Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π² ΠΏΠΎΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ пСрСчислСнных Π²Ρ‹ΡˆΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΎΠ½ΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌΠΈ, Ссли Π½Π΅Ρ‚ β€” Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌΠΈ

Когда элСмСнт Π²Π°Π»ΠΈΠ΄Π΅Π½, справСдливы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ утвСрТдСния:

Когда элСмСнт Π½Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½, справСдливы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ утвСрТдСния:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ встроСнной Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ протСстируСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ обсуТдали Π²Ρ‹ΡˆΠ΅.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

Для Π½Π°Ρ‡Π°Π»Π° скопируйтС Ρ„Π°ΠΉΠ» fruit-start.html Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π½Π° вашСм Тёстком дискС.

Атрибут required

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π”Π°Π½Π½Ρ‹ΠΉ CSS Π·Π°Π΄Π°Ρ‘Ρ‚ полю ΠΊΡ€Π°ΡΠ½ΡƒΡŽ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΡƒΡŽ Ρ€Π°ΠΌΠΊΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½ΠΎ, Π° ΠΊΠΎΠ³Π΄Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎ β€” ΡΠΏΠ»ΠΎΡˆΠ½ΡƒΡŽ Ρ‡Ρ‘Ρ€Π½ΡƒΡŽ. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚ для ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° GitHub ΠΏΠΎ адрСсу fruit-validation.html (ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ исходный ΠΊΠΎΠ΄.)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π±Π΅Π· ввСдСния значСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ фокус, появляСтся сообщСниС ΠΎΠ± ошибкС («Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ это ΠΏΠΎΠ»Π΅») ΠΈ блокируСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ удобства взаимодСйствия ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ поля ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, этого Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ руководство ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ доступности WCAG. Π’Ρ€Π΅Π±ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ Π»ΠΈ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ» ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ?

Валидация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярного выраТСния

РСгулярныС выраТСния достаточно слоТны ΠΈ ΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ эту Ρ‚Π΅ΠΌΡƒ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π½Π΅ упомянули. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список со мноТСством ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ РСгулярным выраТСниям

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ pattern ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаблон:

Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ β€” ΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° GitHub ΠΏΠΎ адрСсу fruit-pattern.html (исходный ΠΊΠΎΠ΄.)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ элСмСнт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: строку «banana», «Banana», «cherry», ΠΈΠ»ΠΈ «Cherry». РСгулярныС выраТСния Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ рСгистру, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ шаблона «Aa», Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, ΠΌΡ‹ сдСлали ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ написания слова ΠΊΠ°ΠΊ с большой, Ρ‚Π°ΠΊ ΠΈ с малСнькой Π±ΡƒΠΊΠ²Ρ‹.

ΠŸΠΎΠ΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ pattern ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈ посмотритС, ΠΊΠ°ΠΊ это повлияСт Π½Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΠΎΠ»Π΅ значСния. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ посмотритС, Ρ‡Ρ‚ΠΎ получится. По возмоТности, Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΈΡ… связанными с Ρ„Ρ€ΡƒΠΊΡ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ смысл.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

МоТно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ максимально допустимоС количСство символов для тСкстовых ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ копию Ρ„Π°ΠΉΠ»Π° fruit-start.html.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ элСмСнта Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° GitHub ΠΏΠΎ адрСсу fruit-length.html (исходный ΠΊΠΎΠ΄.)

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

НиТС прСдставлСн ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ использованиС встроСнного Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ HTML:

И Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ CSS для стилизации HTML:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° GitHub ΠΏΠΎ адрСсу full-example.html (исходный ΠΊΠΎΠ΄.)

Валидация Ρ„ΠΎΡ€ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript

Если Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ внСшним Π²ΠΈΠ΄ΠΎΠΌ встроСнных сообщСний ΠΎΠ± ошибкС ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Ρ„ΠΎΡ€ΠΌ HTML, Π²Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JavaScript. Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы Π΄Π΅Π»Π°Ρ‚ΡŒ это.

Constraint Validation API

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Constraint Validation API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², доступных Π½Π° DOM-интСрфСйсах ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов Ρ„ΠΎΡ€ΠΌ:

Для пСрСчислСнных Π²Ρ‹ΡˆΠ΅ элСмСнтов Constraint Validation API Π΄Π΅Π»Π°Π΅Ρ‚ доступными ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства.

Π’Π°ΠΊΠΆΠ΅ для пСрСчислСнных Π²Ρ‹ΡˆΠ΅ элСмСнтов Constraint Validation API Π΄Π΅Π»Π°Π΅Ρ‚ доступными ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

РСализация кастомного сообщСния ΠΎΠ± ошибкС

Как Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… HTML5-Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π²Ρ‹ΡˆΠ΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пытаСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС ΠΎΠ± ошибкС. Бпособ отобраТСния сообщСния зависит ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

Π£ этих автоматичСских сообщСний Π΅ΡΡ‚ΡŒ Π΄Π²Π° нСдостатка:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ валидация ΠΏΠΎΠ»Π΅ΠΉ Π² тСстировании

Настройка Ρ‚Π°ΠΊΠΈΡ… сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ использования Constraint Validation API. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ это дСлаСтся.

Начнём с простого HTML (НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ это Π² пустой HTML-Ρ„Π°ΠΉΠ». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π·ΡΡ‚ΡŒ Π·Π° основу ΡΠ²Π΅ΠΆΡƒΡŽ копию fruit-start.html, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅):

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½Π° страницу ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ JavaScript:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ сохраняСм ссылку Π½Π° ΠΏΠΎΠ»Π΅ email, Π° Π·Π°Ρ‚Π΅ΠΌ добавляСм ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠΎΠ»Π΅ мСняСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΈΠΆΠ΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:: Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° GitHub ΠΏΠΎ адрСсу custom-error-message.html (ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ исходный ΠΊΠΎΠ΄.)

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ API для создания Π±ΠΎΠ»Π΅Π΅ слоТной Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, HTML. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ вмСстС с Π½Π°ΠΌΠΈ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ здСсь являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° novalidate ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ встроСнных сообщСний ΠΎΠ± ошибкС ΠΈ позволяСт вмСсто этого Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² DOM кастомныС сообщСния.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ CSS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ внСшний Π²ΠΈΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь ΠΏΡ€ΠΈ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π΅ Π²Π°Π»ΠΈΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΡΡ‚ΠΎΠΌΠ½ΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΎ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° GitHub ΠΏΠΎ адрСсу detailed-custom-validation.html (ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ исходный ΠΊΠΎΠ΄.)

Constraint Validation API явяСтся ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом, сущСствСнно прСвосходящий возмоТности HTML ΠΈ CSS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ смотритС руководства Constraint validation guide ΠΈ Constraint Validation API.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΠΎΡ€ΠΌ Π±Π΅Π· встроСнного API

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ нСобходимости ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ кастомных элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹, Π²Ρ‹ Π½Π΅ смоТСтС ΠΈΠ»ΠΈ Π½Π΅ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Constraint Validation API. Π’Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JavaScript для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ, Π½ΠΎ для этого всё Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Для создания своСго Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Π° Ρ„ΠΎΡ€ΠΌΡ‹, Π·Π°Π΄Π°ΠΉΡ‚Π΅ сСбС нСсколько вопросов:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π±Π΅Π· использования Constraint Validation API

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это дальшС приводится упрощённая вСрсия ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ.

HTML ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅; ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ HTML5.

CSS Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ; ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ CSS-псСвдокласс :invalid Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ класс ΠΈ Π½Π΅ использовали сСлСктор ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Internet Explorer 6.

БущСствСнно измСнился Ρ‚ΠΎΠ»ΡŒΠΊΠΎ JavaScript-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ слоТно. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ состоит лишь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ кроссплатформСнным ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с любой Ρ„ΠΎΡ€ΠΌΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ доступно мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Validate.js.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ!

Π’Ρ‹ дошли Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ? Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ тСсты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сохранили эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС β€” Test your skills: Form validation.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ½ΠΎΠ³Π΄Π° трСбуСтся JavaScript, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Π½ΠΎ это всСгда Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ вас Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. ВсСгда ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ нСобходимости ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ вводят. Для этого ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ:

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΡ‹ рассмотрим ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *