Zend_Validate_Hostname::setValidateTld PHP 메소드

setValidateTld() 공개 메소드

This only applies when DNS hostnames are validated
public setValidateTld ( boolean $allowed )
$allowed boolean Set allowed to true to validate TLDs, and false to not validate them
    public function setValidateTld($allowed)
    {
        $this->_options['tld'] = (bool) $allowed;
        return $this;
    }

Usage Example

예제 #1
0
 /**
  * Ensure the TLD check works as expected
  *
  */
 public function testTLD()
 {
     $validator = new Zend_Validate_Hostname();
     // Check TLD matching
     $valuesExpected = array(array(true, array('domain.co.uk', 'domain.uk.com', 'domain.tl', 'domain.zw')), array(false, array('domain.xx', 'domain.zz', 'domain.madeup')));
     foreach ($valuesExpected as $element) {
         foreach ($element[1] as $input) {
             $this->assertEquals($element[0], $validator->isValid($input), implode("\n", $validator->getMessages()) . $input);
         }
     }
     // Check no TLD matching
     $validator->setValidateTld(false);
     $valuesExpected = array(array(true, array('domain.xx', 'domain.zz', 'domain.madeup')));
     foreach ($valuesExpected as $element) {
         foreach ($element[1] as $input) {
             $this->assertEquals($element[0], $validator->isValid($input), implode("\n", $validator->getMessages()) . $input);
         }
     }
     // Check setting no TLD matching via constructor
     unset($validator);
     $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, true, false);
     $valuesExpected = array(array(true, array('domain.xx', 'domain.zz', 'domain.madeup')));
     foreach ($valuesExpected as $element) {
         foreach ($element[1] as $input) {
             $this->assertEquals($element[0], $validator->isValid($input), implode("\n", $validator->getMessages()) . $input);
         }
     }
 }