27.3. ¹ß¸®µ¥ÀÌÅÍÀÇ ¾²´Â ¹ý

Zend_Validate ¿¡´Â, Àß »ç¿ëÇÏ´Â ¹ß¸®µ¥ÀÌÅͱºÀÌ ºÎ¼ÓµÇ¾î ÀÖ½À´Ï´Ù.±×·¯³ª, ƯÁ¤ÀÇ ¸ñÀûÀ» À§Çؼ­ »ç¿ëÇÏ´Â µ¶ÀÚÀûÀÎ ¹ß¸®µ¥ÀÌÅ͸¦ ¾²´Â °ÍÀº ÇÇÇÒ ¼ö ¾øÀ» °ÍÀÔ´Ï´Ù. µ¶ÀÚÀûÀÎ ¹ß¸®µ¥ÀÌÅ͸¦ ÀÛ¼ºÇÏ·Á¸é , Zend_Validate_Interface (À»)¸¦ ½ÇÀåÇÕ´Ï´Ù.

Zend_Validate_Interface ±×·³, µÎ ¸Þ¼Òµå isValid() ¹× getMessages() (À»)¸¦ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù.À̰͵éÀ» ÀÚ½ÅÀÇ Å¬·¡½º¿¡¼­ ½ÇÀåÇÕ´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ½ÇÀåÇÑ Å¬·¡½º´Â, Zend_Validate::addValidator() ±×¸®°í ¹ß¸®µ¥ÀÌÅÍ Ã¼Àο¡ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌÇÏÀÇ ¿¹·Î, µ¶ÀÚÀûÀÎ ¹ß¸®µ¥ÀÌÅ͸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.


<?php
require_once 'Zend/Validate/Interface.php';

class 
MyValidator implements Zend_Validate_Interface
{
    protected 
$_messages = array();

    public function 
isValid($value)
    {
        
$this->_messages = array();

        
// $requirement  ¿¡ ÀǰÅÇÏ´Â °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù

        
if (!$requirement) {
            
$this->_messages[] = "Reason validation failed";
            return 
false;
        }

        return 
true;
    }

    public function 
getMessages()
    {
        return 
$this->_messages;
    }
}

ÀÌ ¹ß¸®µ¥ÀÌÅÍÀÇ ÀνºÅϽº¸¦ ¹ß¸®µ¥ÀÌÅÍ Ã¼Àο¡ Ãß°¡ÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.


<?php
$validatorChain 
= new Zend_Validate();
$validatorChain->addValidator(new MyValidator());