Zend Framework バリデータ Zend_Validate の使用状況分析

不言
リリース: 2023-03-31 10:32:02
オリジナル
2417 人が閲覧しました

この記事では主に Zend Framework バリデーター Zend_Validate の使用法を紹介し、バリデーター Zend_Validate の機能、使用スキル、および関連する注意事項をサンプルの形で分析します。必要な方はこの記事の例を参照してください。 ## Zend Framework バリデータ Zend_Validate の使用法について説明します。参照用に全員と共有してください。詳細は次のとおりです。

はじめに:

は入力コンテンツをチェックし、コンテンツが既に更新されているかどうかを示すブール結果を生成します。メカニズムの検証に成功しました。

isValid() メソッドが False を返した場合、サブクラスの getMessage() メソッドは検証失敗の理由を説明するメッセージ配列を返します。

メッセージとエラーの内容を正しく返すには、isValid() メソッドの呼び出しごとに、前の isValid() メソッド呼び出しによって発生したメッセージとエラーをクリアする必要があります。

ケース:

<?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);
ログイン後にコピー

結果:

入力された電子メール アドレス: abc@123.com !

入力された電子メール アドレス: abc#123.com は無効です。失敗メッセージは次のとおりです: 'abc#123.com' は基本形式 local-part@hostname
emailAddressInvalidFormat

Description: ## の有効な電子メール アドレスではありません

#クラスを導入した後、検証関数を定義し、関数内でクラスをインスタンス化します。 isValid() メソッドを使用して検証を実行します。サブクラスのバリデーターによって、異なる内容が検証されます。 同時に、getMessages() メソッドと getErrors() メソッドを使用します。

ソースコード鑑賞:

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;
}
ログイン後にコピー

分析:

これが主な検証関数の内容です文字列であるか、メールボックスのルールに準拠しているか、長さが一致しているかなど複数の状況に分けて検証され、最終的にはすべて一致した場合に true が返されます。

上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

Zend Framework での Zend_View コンポーネントの使用状況分析


以上がZend Framework バリデータ Zend_Validate の使用状況分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート