Zend Framework ¿¡´Â, °ð¹Ù·Î »ç¿ëÇÒ ¼ö Àִ ǥÁØÀÇ Validation ClassesÀÌ µ¿°í µÇ°í ÀÖ½À´Ï´Ù.
$value
ÇÏÁö¸¸ ¿µ¼ýÀÚ¸¸À¸·Î ±¸¼ºµÇ¾î ÀÖÀ» ¶§ ¸¶¼Å true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
ÀÌ Validator¿¡¼´Â, ¿É¼ÇÀ¸·Î¼ °ø¹é ¹®ÀÚ¸¦ ÀÎÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
$value
ÇÏÁö¸¸ ¿µ¹®ÀÚ¸¸À¸·Î ±¸¼ºµÇ¾î ÀÖÀ» ¶§ ¸¶¼Å true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
ÀÌ Validator¿¡¼´Â, ¿É¼ÇÀ¸·Î¼ °ø¹é ¹®ÀÚ¸¦ ÀÎÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ ValidatorÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¶§ , °ËÁõÇÏ°í ½ÍÀº ¹ÙÄÚµåÀÇ Çü½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù.
ÇöÀç ¼Æ÷Æ®Çϰí ÀÖ´Â ¹ÙÄÚµå Çü½ÄÀº "UPC-A
" (Universal Product Code) (¿Í)°ú
"EAN-13
" (European Article Number) ÀÔ´Ï´Ù.
isValid()
¸Þ¼Òµå´Â,
ÁöÁ¤ÇÑ ÇüÅÂÀÇ ¹ÙÄÚµåÀÇ °ËÁõ ¾Ë°í¸®ÁòÀ¸·Î ÀÔ·ÂÀ» °ËÁõÇÒ ¼ö ÀÖ¾úÀ» °æ¿ì¿¡
true (À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.ÀÌ Validator¿¡ ÀÔ·ÂÀ» °Ç³×ÁÖ±â Àü¿¡,
¼ýÀÚÀÇ 0 (À¸)·ÎºÎÅÍ 9 ±îÁö (0-9) ÀÌ¿ÜÀÇ ¹®ÀÚ´Â ¸ðµÎ ¾ø¾Ö µÎÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
$value
ÇÏÁö¸¸ ÃÖ¼ÒÄ¡¿Í ÃÖ´ëÄ¡ÀÇ »çÀÌ¿¡ ÀÖ´Â °æ¿ì¿¡°Ô¸¸ true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
µðÆúÆ®¿¡¼´Â, ¾ç´ÜÀÇ °ªµµ Æ÷ÇÔÇØ ºñ±³ÇÕ´Ï´Ù
($value
ÇÏÁö¸¸ °æ°èÄ¡¿Í µ¿ÀÏÇØµµ ±¦Âú½À´Ï´Ù)
ÇÏÁö¸¸,strict ¿É¼ÇÀ» º¯°æÇϰí,$value
ÇÏÁö¸¸ ÃÖ¼ÒÄ¡º¸´Ù Ä¿¼ ÃÖ´ëÄ¡º¸´Ù ÀÛ´Ù
(ÃÖ¼ÒÄ¡¿Í ÃÖ´ëÄ¡´Â Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù) (À¸)·Î ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
$value
ÇÏÁö¸¸ Luhn ¾Ë°í¸®Áò (10 ±×¸®°í ³ª´« Áö³ªÄ£ üũ ¼¶)
(À»)¸¦ ä¿ì´Â Å©·¹µðÆ® Ä«µå ¹øÈ£ÀÎ °æ¿ì¿¡°Ô¸¸ true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
$value
ÇÏÁö¸¸ YYYY-MM-DD
Çü½ÄÀÇ ÀÏÀÚÀÎ °æ¿ì¿¡°Ô¸¸
true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.¿É¼ÇÀÇ locale
(À»)¸¦ ¼³Á¤Çϸé, ±× ·ÎÄÉÀÏ¿¡ ÀÀÇÑ °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù.
¿É¼ÇÀÇ format
(À»)¸¦ ¼³Á¤Çϸé,
±× Æ÷¸ËÀ» »ç¿ëÇÏ°í °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù.¿É¼Ç ÆÄ¶ó¹ÌÅÍÀÇ ÀÚ¼¼ÇÑ °ÍÀº
Zend_Date::isDate()
(À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
Zend_Validate_EmailAddress
(Àº)´Â, ¸ÞÀÏ ÁÖ¼ÒÀÇ °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù.
ÀÌ Validator´Â, ¿ì¼± ¸ÞÀÏ ÁÖ¼Ò¸¦
local-part @ hostname
¿¡ ºÐÇÒÇØ, ¸ÞÀÏ ÁÖ¼Ò³ª È£½ºÆ®¸íÀÇ »ç¾ç¿¡ ¸ÂÃß¾î °ËÁõÇÕ´Ï´Ù.
±âº»ÀûÀÎ »ç¿ë¹ý
±âº»ÀûÀÎ »ç¿ë¹ýÀº, ÀÌÇÏ¿Í °°ÀÌ µË´Ï´Ù.
<?php
require_once 'Zend/Validate/EmailAddress.php';
$validator = new Zend_Validate_EmailAddress();
if ($validator->isValid($email)) {
// ¸ÞÀÏ ÁÖ¼Ò´Â ¿Ã¹Ù¸¥ Çü½Ä°°½À´Ï´Ù
} else {
// ºÎÁ¤ÇÑ Çü½ÄÀ̹ǷÎ, ÀÌÀ¯¸¦ Ç¥½ÃÇÕ´Ï´Ù
foreach ($validator->getMessages() as $message) {
echo "$messagen";
}
}
À̰ÍÀº, ¸ÞÀÏ ÁÖ¼Ò $email
(À»)¸¦ °ËÁõÇØ, ½ÇÆÐÇßÀ» °æ¿ì´Â
±× ¿øÀÎÀ» ³ªÅ¸³»´Â Æí¸®ÇÑ ¿¡·¯ ¸Þ¼¼Áö¸¦
$validator->getMessages()
±×¸®°í ÃëµæÇÕ´Ï´Ù.
º¹ÀâÇÑ ·ÎÄà ÆÄÆ®
Zend_Validate_EmailAddress
(Àº)´Â, ¸ÞÀÏ ÁÖ¼ÒÀÇ °ËÁõÀ»
RFC2822 ¿¡ ÀǰÅÇØ ½Ç½ÃÇÕ´Ï´Ù.¿¹¸¦ µé¾î, Ÿ´çÇÑ Çü½ÄÀÇ ¸ÞÀÏ Áּҷμ´Â
bob@domain.com
,bob+jones@domain.us
,
"bob@jones"@domain.com
¹× "bob jones"@domain.com
µîÀÌ ÀÖ½À´Ï´Ù.
ÀÏÂî±â »ç¿ëµÇ°í ÀÖ¾úÁö¸¸, ÇöÀç´Â À¯È¿ÇÏ´Ù°í´Â º¸ÀÌÁö ¾Ê´Â Æ÷¸Ëµµ ÀÖ½À´Ï´Ù (¿¹¸¦ µé¾î, ¸ÞÀÏ ÁÖ¼Ò¿¡ °³Çà ¹®ÀÚ³ª "" (À»)¸¦ »ç¿ëÇÏ´Â µî).
´Ù¾çÇÑ Çü½ÄÀÇ È£½ºÆ®¸íÀÇ °ËÁõ
¸ÞÀÏ ÁÖ¼ÒÀÇ È£½ºÆ®¸í ºÎºÐÀÇ °ËÁõÀº,
Zend_Validate_Hostname
±×¸®°í ½Ç½ÃÇÕ´Ï´Ù.µðÆúÆ®¿¡¼´Â,domain.com
Çü½ÄÀÇ DNS È£½ºÆ®¸í¸¸ÀÌ À¯È¿°¡ µË´Ï´Ù.±×·¯³ª,
IP ÁÖ¼Ò³ª ·ÎÄà ȣ½ºÆ®¸íµµ À¯È¿ÇÏ°Ô ÇÏ°í ½ÍÀº °Íµµ ÀÖ°ÚÁö¿ä.
±× °æ¿ì´Â,Zend_Validate_EmailAddress
ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¶§¿¡ ÆÄ¶ó¹ÌÅ͸¦ °Ç³×ÁÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
ÀÌ ÆÄ¶ó¹ÌÅÍ·Î, ÀÎÁ¤ÇÏ°í ½ÍÀº È£½ºÆ®¸íÀÇ Çü½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù.
ÀÚ¼¼ÇÑ °ÍÀº Zend_Validate_Hostname
(À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
¿¹¸¦ µé¾î DNS È£½ºÆ®¸í ¹× ·ÎÄà ȣ½ºÆ®¸íÀÇ ¾î´ÀÂÊÀ̳ª Çã°¡ÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
<?php
require_once 'Zend/Validate/EmailAddress.php';
$validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_LOCAL);
if ($validator->isValid($email)) {
// ¸ÞÀÏ ÁÖ¼Ò´Â ¿Ã¹Ù¸¥ Çü½Ä°°½À´Ï´Ù
} else {
// ºÎÁ¤ÇÑ Çü½ÄÀ̹ǷÎ, ÀÌÀ¯¸¦ Ç¥½ÃÇÕ´Ï´Ù
foreach ($validator->getMessages() as $message) {
echo "$messagen";
}
}
±× È£½ºÆ®¸íÀÌ ½ÇÁ¦·Î ¸ÞÀÏÀ» ¹Þ¾ÆµéÀÏÁöÀÇ Ã¼Å©
´ÜÁö ´ÜÁö ¸ÞÀÏ ÁÖ¼Ò°¡ ¿Ã¹Ù¸¥ ¼½ÄÀÌ´Ù°í ÇÏ´Â °Í ¸¸À¸·Î´Â, ±× ÁÖ¼Ò°¡ ½ÇÁ¦·Î Á¸ÀçÇÒÁö ¾î¶³Áö´Â ¸ð¸¨´Ï´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ,MX ÀÇ °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù. ¸ÞÀÏ ÁÖ¼ÒÀÇ È£½ºÆ®¸í¿¡ ´ëÀÀÇÑ´Ù DNS ·¹Äڵ忡,MX (¸ÞÀÏ) ÀÇ ¿£Æ®¸®°¡ Á¸ÀçÇÒÁö¸¦ Á¶»çÇÕ´Ï´Ù. À̰ÍÀº, ±× È£½ºÆ®°¡ ¸ÞÀÏÀ» ¹Þ¾ÆµéÀ̰í ÀÖ´ÂÁö ¾î¶²Áö¸¦ °¡¸£ÃÄ ÁÝ´Ï´Ù¸¸, ±× ¸ÞÀÏ ÁÖ¼Ò ÀÚü°¡ ¿Ã¹Ù¸¥ °ÍÀÏÁö¸¦ ¾Ë ¼ö ¾ø½À´Ï´Ù.
MX ÀÇ Ã¼Å©´Â µðÆúÆ®¿¡¼´Â ¹«È¿°¡ µÇ¾î ÀÖ¾î,
Çö½ÃÁ¡¿¡¼´Â UNIX Ç÷§Æû¿¡¼¸¸ ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù.
MX ÀÇ Ã¼Å©¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é ,Zend_Validate_EmailAddress
constructor¡¡ ¡¡ ÀÇ 2 ¹øÂ°ÀÇ ÆÄ¶ó¹ÌÅ͸¦ °Ç³×ÁÝ´Ï´Ù.
constructor.
<?php
$validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS, true);
ȤÀº,true
¶Ç´Â false
(À»)¸¦
$validator->setValidateMx()
¿¡ °Ç³×ÁÖ´Â °ÍÀ¸·Î,
MX ÀÇ °ËÁõÀ» À¯È¿ ȤÀº ¹«È¿·Î ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ ¼³Á¤À» À¯È¿ÇÏ°Ô Çϸé, ³×Æ®¿öÅ© ÇÔ¼ö¸¦ ÀÌ¿ëÇØ ¸ÞÀÏ ÁÖ¼ÒÀÇ È£½ºÆ®¸íºÎ¿¡ ´ëÇÑ´Ù MX ·¹ÄÚµåÀÇ Á¸Àç üũ¸¦ ÇÕ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ½ºÅ©¸³Æ®ÀÇ Ã³¸® ¼Óµµ°¡ ÀúÇÏÇÏ´Â °Í¿¡ Á¶½ÉÇØ ÁÖ¼¼¿ä.
±¹Á¦È µµ¸ÞÀθíÀÇ °ËÁõ
Zend_Validate_EmailAddress
(Àº)´Â, µµ¸ÞÀξȿ¡ ±¹Á¦ ¹®ÀÚ°¡ »ç¿ëµÇ°í ÀÖ´Â °æ¿ìµµ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ µµ¸ÞÀÎÀº, ±¹Á¦È µµ¸ÞÀθí (International Domain Name: IDN)
(À¸)·Î ºÒ¸®°í ÀÖ½À´Ï´Ù.À̰ÍÀº µðÆúÆ®·Î À¯È¿ÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù¸¸, ¹«È¿·Î ÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù.
¹«È¿·Î ÇÏ·Á¸é ,Zend_Validate_EmailAddress
ÇÏÁö¸¸ ³»ºÎ¿¡¼ º¸°ü À¯ÁöÇϰí ÀÖ´Ù
Zend_Validate_Hostname
¿ÀºêÁ§Æ®ÀÇ ¼³Á¤À» º¯°æÇÕ´Ï´Ù.
<?php
$validator->hostnameValidator->setValidateIdn(false);
setValidateIdn()
ÀÇ »ó¼¼ÇÑ »ç¿ë¹ýÀº,
Zend_Validate_Hostname
ÀÇ ¹®¼¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
IDN ÀÇ °ËÁõÀº,DNS È£½ºÆ®¸íÀÇ °ËÁõÀ» À¯È¿ÇÏ°Ô Çϰí ÀÖ´Â °æ¿ì¿¡°Ô¸¸ ÇàÇØÁö´Â °Í¿¡ ÁÖÀÇÇսôÙ.
Åé ·¹º§ µµ¸ÞÀÎÀÇ °ËÁõ
µðÆúÆ®¿¡¼´Â, È£½ºÆ®¸íÀÇ °ËÁõÀº ±âÁ¸ÀÇ TLD ÀÇ À϶÷¿¡ ±Ù°ÅÇØ ÇàÇØÁý´Ï´Ù.
À̰ÍÀº µðÆúÆ®·Î À¯È¿ÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù¸¸, ¹«È¿·Î ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.¹«È¿·Î ÇÏ·Á¸é ,
¹«È¿·Î ÇÏ·Á¸é ,Zend_Validate_EmailAddress
ÇÏÁö¸¸ ³»ºÎ¿¡¼ º¸°ü À¯ÁöÇϰí ÀÖ´Ù
Zend_Validate_Hostname
¿ÀºêÁ§Æ®ÀÇ ¼³Á¤À» º¯°æÇÕ´Ï´Ù.
<?php
$validator->hostnameValidator->setValidateTld(false);
setValidateTld()
ÀÇ »ó¼¼ÇÑ »ç¿ë¹ýÀº,
Zend_Validate_Hostname
ÀÇ ¹®¼¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
TLD ÀÇ °ËÁõÀº,DNS È£½ºÆ®¸íÀÇ °ËÁõÀ» À¯È¿ÇÏ°Ô Çϰí ÀÖ´Â °æ¿ì¿¡°Ô¸¸ ÇàÇØÁö´Â °Í¿¡ ÁÖÀÇÇսôÙ.
Zend_Validate_Hostname (Àº)´Â, È£½ºÆ®¸íÀÌ »ç¾çÀ» ä¿ö ÀÖ´ÂÁö ¾î¶²ÁöÀÇ °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù. 3Á¾·ùÀÇ Çü½ÄÀÇ È£½ºÆ®¸í, ÁïDNS È£½ºÆ®¸í (¿¹¸¦ µé¾î domain.com),IP ÁÖ¼Ò (¿¹¸¦ µé¾î 1.2.3.4) ±×¸®°í ·ÎÄà ȣ½ºÆ®¸í (¿¹¸¦ µé¾î localhost) ÀÇ °ËÁõÀÌ °¡´ÉÇÕ´Ï´Ù. µðÆúÆ®¿¡¼´Â DNS È£½ºÆ®¸í¸¸ÀÌ À¯È¿°¡ µË´Ï´Ù.
±âº»ÀûÀÎ »ç¿ë¹ý
±âº»ÀûÀÎ »ç¿ë¹ýÀº, ÀÌÇÏ¿Í °°ÀÌ µË´Ï´Ù.
<?php
require_once 'Zend/Validate/Hostname.php';
$validator = new Zend_Validate_Hostname();
if ($validator->isValid($hostname)) {
// È£½ºÆ®¸íÀº ¿Ã¹Ù¸¥ Çü½Ä°°½À´Ï´Ù
} else {
// ºÎÁ¤ÇÑ Çü½ÄÀ̹ǷÎ, ÀÌÀ¯¸¦ Ç¥½ÃÇÕ´Ï´Ù
foreach ($validator->getMessages() as $message) {
echo "$messagen";
}
}
À̰ÍÀº, È£½ºÆ®¸í $hostname
(À»)¸¦ °ËÁõÇØ, ½ÇÆÐÇßÀ» °æ¿ì´Â
±× ¿øÀÎÀ» ³ªÅ¸³»´Â Æí¸®ÇÑ ¿¡·¯ ¸Þ¼¼Áö¸¦
$validator->getMessages()
±×¸®°í ÃëµæÇÕ´Ï´Ù.
´Ù¾çÇÑ Çü½ÄÀÇ È£½ºÆ®¸íÀÇ °ËÁõ
IP ÁÖ¼Ò³ª ·ÎÄà ȣ½ºÆ®¸í, ȤÀº ±× ¾çÂÊ ¸ðµÎ¸¦ ¿Ã¹Ù¸¥ È£½ºÆ®¸íÀ¸·Î¼ ÀÎÁ¤ÇÏ°í ½ÍÀº °Íµµ ÀÖ°ÚÁö¿ä. ±× °æ¿ì´Â,Zend_Validate_Hostname ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¶§¿¡ ÆÄ¶ó¹ÌÅ͸¦ °Ç³×ÁÝ´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ¿¡´Â, ¾î´À Çü½ÄÀÇ È£½ºÆ®¸íÀ» Çã°¡ÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â Á¤¼öÄ¡¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. °¡´ÉÇÑ ÇÑ,Zend_Validate_Hostname ÀÇ Á¤¼ö¸¦ »ç¿ëÇϵµ·Ï ÇսôÙ.
Zend_Validate_Hostname ÀÇ Á¤¼ö´Â ´ÙÀ½°ú °°½À´Ï´Ù.ALLOW_DNS
ÇÏ DNS È£½ºÆ®¸í¸¸À» Çã°¡ÇØ,
ALLOW_IP
ÇÏ IP ÁÖ¼Ò¸¦ Çã°¡ÇÕ´Ï´Ù.¶Ç ALLOW_LOCAL
(Àº)´Â ·ÎÄà ³×Æ®¿öÅ©¸íÀ» Çã°¡ÇØ,ALLOW_ALL
(Àº)´Â À̰͵é 3Á¾·ù¸¦ ¸ðµÎ Çã°¡ÇÕ´Ï´Ù.
IP ÁÖ¼Ò¸¸À» üũÇÏ·Á¸é , ÀÌÇÏÀÇ ¿¹ÀÇ °°°Ô ÇÕ´Ï´Ù.
<?php
require_once 'Zend/Validate/Hostname.php';
$validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_IP);
if ($validator->isValid($hostname)) {
// È£½ºÆ®¸íÀº ¿Ã¹Ù¸¥ Çü½Ä°°½À´Ï´Ù
} else {
// ºÎÁ¤ÇÑ Çü½ÄÀ̹ǷÎ, ÀÌÀ¯¸¦ Ç¥½ÃÇÕ´Ï´Ù
foreach ($validator->getMessages() as $message) {
echo "$messagen";
}
}
ALLOW_ALL
(À»)¸¦ »ç¿ëÇØ ¸ðµç Çü½ÄÀ» Çã°¡ÇÏ´Â °Í ¿Ü¿¡,
ÀÌ·¯ÇÑ Çü½ÄÀ» Á¶ÇÕÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î,DNS ¹× ·ÎÄà ȣ½ºÆ®¸íÀ» Çã°¡ÇÏ·Á¸é ,
Zend_Validate_Hostname ÀÇ ÀνºÅϽº¸¦ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù.
<?php
$validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_IP);
±¹Á¦È µµ¸ÞÀθíÀÇ °ËÁõ
±¹º° ÄÚµå Åé ·¹º§ µµ¸ÞÀÎ (Country Code Top Level Domains: ccTLDs) ÀÇ ÀϺÎ, ¿¹¸¦ µé¾î 'de' (µ¶ÀÏ) µî¿¡¼´Â, µµ¸ÞÀθí¾È¿¡ ±¹Á¦È ¹®ÀÚÀÇ »ç¿ëÀ» ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù. À̰ÍÀº, ±¹Á¦È µµ¸ÞÀθí (International Domain Names: IDN) (ÀÌ)¶ó°í ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ µµ¸ÞÀο¡ ´ëÇØ¼µµ,Zend_Validate_Hostname ÀÇ °ËÁõ ÇÁ·Î¼¼½º·Î »ç¿ëÇÏ´Â ¹®ÀÚ¸¦ È®ÀåÇÏ´Â °ÍÀ¸·Î °ËÁõÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÇöÀç´Â, ´ÙÀ½°ú °°Àº ccTLD (À»)¸¦ ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù.
at (¿À½ºÆ®¸®¾Æ)
ch (½ºÀ§½º)
li (¸®È÷ÅÙ½´Å¸ÀÎ)
de (µ¶ÀÏ)
fi (Çɶõµå)
hu (Çë°¡¸®)
no (³ë¸£¿þÀÌ)
se (½º¿þµ§)
IDN µµ¸ÞÀο¡ ´ëÇÑ ¸ÅĪÀ» ½Ç½ÃÇÏ´Â ¹æ¹ýÀº, Åë»óÀÇ È£½ºÆ®¸íÀÇ °æ¿ì¿Í ¿ÏÀüÈ÷ °°½À´Ï´Ù.
±×·¸´Ù°í ÇÏ´Â °Íµµ,IDN ÀÇ ¸ÅĪÀº µðÆúÆ®·Î À¯È¿ÇÏ°Ô µÇ¾î Àֱ⠶§¹®ÀÔ´Ï´Ù.
IDN ÀÇ °ËÁõÀ» ¹«È¿·Î ÇÏ°í ½ÍÀº °æ¿ì´Â,Zend_Validate_Hostname
ÀÇ constructor¡¡ ¡¡ ¿¡ ÆÄ¶ó¹ÌÅ͸¦ °Ç³×Áֵ簡, ȤÀº
$validator->setValidateIdn()
¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
IDN ÀÇ °ËÁõÀ» ¹«È¿·Î ÇÏ·Á¸é ,Zend_Validate_Hostname ÀÇ constructor¡¡ ¡¡ ¿¡ µÎ¹øÂ°ÀÇ ÆÄ¶ó¹ÌÅ͸¦ ´ÙÀ½°ú °°ÀÌ °Ç³×ÁÝ´Ï´Ù.
<?php
$validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, false);
ȤÀº,TRUE ¶Ç´Â FALSE (À»)¸¦
$validator->setValidateIdn()
¿¡ °Ç³×ÁÖ´Â °ÍÀ¸·Î,
IDN ÀÇ °ËÁõÀ» À¯È¿ ȤÀº ¹«È¿·Î ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÇöÀç ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾Ê´Ù IDN È£½ºÆ®¸í¿¡ ´ëÇÑ ¸ÅĪÀ» ½Ç½ÃÇÏ·Á°í Çϸé,
±¹Á¦È ¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì¿¡ °ËÁõ¿¡ ½ÇÆÐÇÕ´Ï´Ù.
Ãß°¡ÀÇ ¹®ÀÚ¸¦ ÁöÁ¤Çß´Ù ccTLD ÆÄÀÏÀÌ Zend/Validate/Hostname
¿¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â, Åë»óÀÇ È£½ºÆ®¸íÀÇ °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù.
IDN ÀÇ °ËÁõÀº,DNS È£½ºÆ®¸íÀÇ °ËÁõÀ» À¯È¿ÇÏ°Ô Çϰí ÀÖ´Â °æ¿ì¿¡°Ô¸¸ ÇàÇØÁö´Â °Í¿¡ ÁÖÀÇÇսôÙ.
Åé ·¹º§ µµ¸ÞÀÎÀÇ °ËÁõ
µðÆúÆ®¿¡¼´Â, È£½ºÆ®¸íÀÇ °ËÁõÀº ±âÁ¸ÀÇ TLD ÀÇ À϶÷¿¡ ±Ù°ÅÇØ ÇàÇØÁý´Ï´Ù. ÀÌ ±â´ÉÀÌ ºÒÇÊ¿äÇÑ °æ¿ì´Â,IDN ¼Æ÷Æ®¸¦ ¹«È¿·Î ÇÏ´Â °Í °°Àº ¹æ¹ýÀ¸·Î ¹«È¿·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. TLD ÀÇ °ËÁõÀ» ¹«È¿·Î ÇÏ·Á¸é ,Zend_Validate_Hostname ÀÇ constructor¡¡ ¡¡ ¿¡ 3¹øÂ°ÀÇ ÆÄ¶ó¹ÌÅ͸¦ °Ç³×ÁÝ´Ï´Ù. ÀÌÇÏÀÇ ¿¹¿¡¼´Â,IDN ÀÇ °ËÁõÀº µÎ¹øÂ°ÀÇ ÆÄ¶ó¹ÌÅÍ·Î À¯È¿ÇÏ°Ô Çϰí ÀÖ½À´Ï´Ù.
<?php
$validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, true, false);
ȤÀº,TRUE ¶Ç´Â FALSE (À»)¸¦
$validator->ValidateTld()
¿¡ °Ç³×ÁÖ´Â °ÍÀ¸·Î,
TLD ÀÇ °ËÁõÀ» À¯È¿ ȤÀº ¹«È¿·Î ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
TLD ÀÇ °ËÁõÀº,DNS È£½ºÆ®¸íÀÇ °ËÁõÀ» À¯È¿ÇÏ°Ô Çϰí ÀÖ´Â °æ¿ì¿¡°Ô¸¸ ÇàÇØÁö´Â °Í¿¡ ÁÖÀÇÇսôÙ.
"needle" $value
ÇÏÁö¸¸ "haystack" ¹è¿¿¡ Æ÷ÇԵǴ °æ¿ì¿¡°Ô¸¸
true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.strict ¿É¼ÇÀ» true
(À¸)·Î Çϸé,$value
ÀÇ Çüŵµ È®ÀÎÇÕ´Ï´Ù.
¹®ÀÚ¿ $value
ÀÇ ±æÀ̰¡ ÃÖ¼ÒÄ¡ ÀÌ»ó,
ÇÑÆí ÃÖ´ëÄ¡ ÀÌÇÏ (ÃÖ´ëÄ¡°¡ null
ÀÌ¿Ü ¶§)
ÀÇ °æ¿ì¿¡°Ô¸¸ true
(À»)¸¦ µ¹·ÁÁÝ´Ï´Ù.
¹öÁ¯ 1.1.0 ÀÌÈÄ¿¡¼´Â,setMin()
±×¸®°í ÃÖ´ëÄ¡º¸´Ù Å« °ªÀ» ÁöÁ¤Çϰųª setMax()
±×¸®°í ÃÖ¼ÒÄ¡º¸´Ù ÀÛÀº °ªÀ» ¼³Á¤Çϰųª ÇßÀ» °æ¿ì¿¡ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
¹öÁ¯ 1.0.2 ÀÌÈÄ¿¡¼´Â, ÀÌ Å¬·¡½º´Â UTF-8 ¿Ü¿¡
iconv.internal_encoding
¿¡ ÀǰÅÇÑ ±× ¿ÜÀÇ ¹®ÀÚ ÀÎÄÚµùµµ ¼Æ÷Æ®ÇÕ´Ï´Ù.