ホームページ >バックエンド開発 >PHPチュートリアル >検証を尊重してデータを検証します
この記事では、Symfony、Laravel、Zend Validatorsなどの一般的な代替品と比較して、柔軟性とシンプルさを高める合理化されたデータ検証パッケージである尊敬の検証を紹介します。 その主要な機能を調べてみましょう。
尊重検証の重要な利点:
getFullMessage
を使用してエラーメッセージを微調整します。getMainMessage
findMessages
not()
oneOf
allOf
実用的なアプリケーション:既存のフレームワークには、多くの場合、検証コンポーネントが含まれます。 たとえば、SymfonyのValidatorコンポーネントは、注釈を使用しています LaravelのIlluminate Validation Packageは、別のアプローチを提供します:
zend validatorは同様の機能を提供します。 尊敬の検証は、より簡潔な代替品を提供します。
<code class="language-php">class UserSubscriptionForm { protected $email; public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('email', new \Assert\Email([ 'message' => 'Invalid email.' ])); } }</code>アクションにおける検証の尊重:
<code class="language-php">//Laravel Validation $validator = \Validator::make( ['email' => $request->get('email')], ['email' => 'required|email'] );</code>
尊重検証を使用した基本的な電子メール検証の例:
尊重検証は、チェーンによる複数のルールの処理に優れています
または
:<code class="language-php">$emailValidator = \Respect\Validation\Validator::email(); try { $emailValidator->assert($request->get('email')); } catch (\Respect\Validation\Exceptions\NestedValidationExceptionInterface $ex) { $errors = $ex->getMainMessage(); // Or getFullMessage(), findMessages() // Handle errors }</code>を使用しています
また、ルール否定をサポートしています:
<code class="language-php">Validator::string()->noWhitespace()->length(4, 10);</code>
allOf
ユーザーサブスクリプションフォーム検証の例(Laravel):
<code class="language-php">$inputValidator = \Respect\Validation\Validator::allOf(new String(), new Length(4, 10));</code>
この記事は、Laravelベースのユーザーサブスクリプションフォームを使用した包括的な例を提供し、検証ルールとエラーメッセージを効果的に管理するためのカスタムバリータークラス(
)を作成する方法を示します。 この例は、実際のシナリオでの尊重検証の力と柔軟性を示しています。 (この例の詳細なコードは簡潔に省略されていますが、元の入力に存在します)。<code class="language-php">$inputValidator = \Respect\Validation\Validator::not(\Respect\Validation\Validator::numeric());</code>
ルールの作成と拡張:
UserSubscriptionValidator
尊重検証により、名前空間を追加するためのwith()
メソッドを使用してカスタムルールを作成できます。 また、SymfonyとZendのルールとのシームレスな統合もサポートしています。
<code class="language-php">class UserSubscriptionForm { protected $email; public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('email', new \Assert\Email([ 'message' => 'Invalid email.' ])); } }</code>
結論:
尊重検証は、データ検証のための説得力のある代替手段を提供し、シンプルさ、柔軟性、および拡張性を強調します。そのクリーンなAPIと統合機能により、より効率的で堅牢な検証ソリューションを求める開発者にとって貴重なツールになります。 データ検証に関するよくある質問(FAQS)(
(元の入力のFAQSセクションは、尊重検証パッケージの中核的なトピックとは無関係であるため、簡潔にするために省略されています。)>>
以上が検証を尊重してデータを検証しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。