Heim  >  Artikel  >  Backend-Entwicklung  >  Nutzungsanalyse des Zend Framework-Validators Zend_Validate

Nutzungsanalyse des Zend Framework-Validators Zend_Validate

不言
不言Original
2018-06-09 14:51:072347Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung des Zend Framework-Validators Zend_Validate vor und analysiert die Funktionen, Verwendungsfähigkeiten und zugehörigen Vorsichtsmaßnahmen des Validators Zend_Validate in Form von Beispielen. Freunde in Not können sich auf die Beispiele in diesem Artikel beziehen

Beschreibt die Verwendung des Zend Framework-Validators Zend_Validate. Geben Sie es wie folgt als Referenz an alle weiter:

Einführung:

prüft den Eingabeinhalt und generiert ein boolesches Ergebnis, um anzugeben, ob der Inhalt erfolgreich überprüft wurde. Mechanismus.

Wenn die Methode isValid() False zurückgibt, gibt die Methode getMessage() der Unterklasse ein Nachrichtenarray zurück, um den Grund für den Verifizierungsfehler zu erläutern.

Um den Nachrichten- und Fehlerinhalt korrekt zurückzugeben, müssen bei jedem Aufruf der isValid()-Methode die Nachricht und der Fehler gelöscht werden, die durch den vorherigen isValid()-Methodenaufruf verursacht wurden.

Fall:

<?php
require_once &#39;Zend/Validate/EmailAddress.php&#39;;
function c_email($email)
{
  $validator = new Zend_Validate_EmailAddress();
  if($validator->isValid($email)){
    echo "输入的E-mail地址:";
    echo $email."有效!<p>";
  }else{
    echo "输入的E-mail地址:";
    echo $email."无效!";
    echo "失败消息为:<p>";
    foreach($validator->getMessages() as $message){
      echo $message."<p>";
    }
    foreach($validator->getErrors() as $error){
      echo $error."<p>";
    }
  }
}
$e_m1 = "abc@123.com";
$e_m2 = "abc#123.com";
c_email($e_m1);
c_email($e_m2);

Ergebnis:

Eingegebene E-Mail-Adresse: abc@123.com effizient !
Die eingegebene E-Mail-Adresse: abc#123.com ist ungültig! Die Fehlermeldung lautet:
'abc#123.com' ist keine gültige E-Mail-Adresse im Basisformat local-part@hostname
emailAddressInvalidFormat

Beschreibung:

Definieren Sie nach der Einführung der Klasse eine Überprüfungsfunktion und instanziieren Sie die Klasse in der Funktion. Verwenden Sie die Methode isValid(), um eine Überprüfung durchzuführen. Verschiedene Unterklassenvalidatoren überprüfen unterschiedliche Inhalte.
Verwenden Sie gleichzeitig die Methoden getMessages() und getErrors().

Bewertung des Quellcodes:

public function isValid($value)
{
    if (!is_string($value)) {
      $this->_error(self::INVALID);
      return false;
    }
    $matches = array();
    $length = true;
    $this->_setValue($value);
    // Split email address up and disallow &#39;..&#39;
    if ((strpos($value, &#39;..&#39;) !== false) or
      (!preg_match(&#39;/^(.+)@([^@]+)$/&#39;, $value, $matches))) {
      $this->_error(self::INVALID_FORMAT);
      return false;
    }
    $this->_localPart = $matches[1];
    $this->_hostname = $matches[2];
    if ((strlen($this->_localPart) > 64) || (strlen($this->_hostname) > 255)) {
      $length = false;
      $this->_error(self::LENGTH_EXCEEDED);
    }
    // Match hostname part
    if ($this->_options[&#39;domain&#39;]) {
      $hostname = $this->_validateHostnamePart();
    }
    $local = $this->_validateLocalPart();
    // If both parts valid, return true
    if ($local && $length) {
      if (($this->_options[&#39;domain&#39;] && $hostname) || !$this->_options[&#39;domain&#39;]) {
        return true;
      }
    }
    return false;
}

Analyse:

Dies ist der Hauptinhalt der Verifizierungsfunktion Zur Überprüfung wird es in mehrere Situationen unterteilt, einschließlich der Frage, ob es sich um eine Zeichenfolge handelt, ob es den Postfachregeln entspricht und ob die Länge konsistent ist. Wenn alle erfüllt sind, wird true zurückgegeben.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Zend Nutzungsanalyse der Zend_View-Komponente im Framework

Das obige ist der detaillierte Inhalt vonNutzungsanalyse des Zend Framework-Validators Zend_Validate. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn