検索
ホームページphp教程php手册php 拡張機能 ZFValidate 拡張機能

php 拡張機能 ZFValidate 拡張機能

Jun 13, 2016 pm 12:31 PM
phpvalidateについて拡大する記事バージョン

以前、ZF0.6バージョンでZFを拡張する方法について記事を書きました。こちらも同様の記事と言うべきですが、環境をZF1.0RC1版に変更しています。

ZF 拡張機能を開始する前に、ZF マニュアル (ZF が推奨) のコマンド仕様を読むことをお勧めします。読者が ZF についてよりよく理解できることを願っています。そうでない場合は、まず PHPCHIAN の ZF バージョンにアクセスして詳細を確認するか、phpeye にアクセスして関連情報を見つけることができます。

ZF のバリデーターは強力な検証機能を提供しますが、実際の操作ではまだ煩雑です。たとえば、電子メールを検証するための ZF のコードは次のとおりです。 $email)) {
// 電子メールは有効であるようです
} else {
// 電子メールは無効です;
foreach ($ validator->getMessages() as $message) {
echo "$messagen";
}
}
?>

ZF の検証方法はまだわかりません。 。 ZF が電子メール検証の詳細をカプセル化するのに協力してくれたというだけです。では、この目的をどのように単純化すればよいでしょうか? (以下は私が拡張した呼び出しメソッドです)

$validate = new Phpbean_Validate();
$validate -> set_breakOnFailure(false); ; add('email',new Zend_Validate_EmailAddress(),'メール アドレスが間違っています!');
$validate -> add('username',new Zend_Validate_StringLength(3,15),'ユーザー名の長さは'%value%' は条件を満たしていません');
$validate -> add('password',new Phpbean_Validate_isEqual($_POST['repassword']),'入力されたパスワードが一致しません');
$authcode = new Phpbean_Img_Code();
$validate -> add('yanxue8_authcode',new Phpbean_Validate_isEqual($_POST['yanxue8_authcode_mdcode']) ,'DECODE')),'認証コードが一致しません!');
if( !$validate -> validator($_POST) ){
error_page('登録に失敗しました',$validate-> getMessageText()); > 上記のメソッドを使用すると、コードが明確になる一方で、一貫したエラー処理も容易になります。では、どうやってこれを行うのでしょうか?
キーは Phpbean_Validate クラスです。
実際、Phpbean_Validate::add() メソッドは検証ルールを 1 つずつ追加するのが非常に簡単です。次に、Phpbean_Validate::validator() を呼び出して検証すれば問題ありません。
具体的な実装手順は次のとおりです。
まず、zend の同じレベルのディレクトリに phpbean フォルダーを追加し、その中に Validator.php ファイルを追加します。
次に、Phpbean_Validate クラスの定義を validator.php ファイルに追加します。注 (独自のファイル名とパス名に変更できますが、クラス名との一貫性を保つようにしてください)。
ここでは、参考のために Phpbean_Validate クラスの実装プロセスを示します。

 
class Phpbean_Validate{

protected $_fileds =array(); 

protected $_message = array(); 

保護された $_breakOnFailure = true; 

public function set_breakOnFailure($value){
$this->_breakOnFailure = $value; 
}

public function add($key,$validate,$message='',$breakOnFailure=''){
if( empty($breakOnFailure) ) $breakOnFailure = $this- >_breakOnFailure;  
$this->_filds[] = array($key,$validate,$message,$breakOnFailure); 
$this を返します。 
}

public function validator($array = array()){
if(empty($array)) $array = $_POST; 
if (is_array($this->_fileds)) {
foreach ($this->_fileds as $filed){
list($key,$validate,$message,$breakOnFailure) = $filed; 

if(empty($key)){
if(!$validate){
$this->_message[][] = $message ; 
if($breakOnFailure) break;  
}
続けます。 


if(!empty($message)) $validate->setMessage($message); 
if( !$validate->isValid($array[$key]) ){
$this->message[$key][] = $validate->getMessages(); 
if($breakOnFailure) break;  


if(!empty($this->_message))return false; 
true を返します。 
}
true を返します。 
}

public function getMessage(){
return $this->_message; 
}
public function getMessageText(){
$str = ''; 
foreach ($this->_message as $ms){
foreach ($ms as $m) $str .= $m[0]."n"; 
}
return $str; 
}
}
?> 


また、これらのテストの種類を直接展開することもできます。次の記事で詳しくお話します。​

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。