CakePHP の検証

PHPz
PHPzオリジナル
2024-08-29 12:58:04931ブラウズ

CakePHP は、動的プログラミング アプリケーションの実装に使用されるオープンソース ツールであり、開発者にさまざまな種類の機能を提供します。検証は CakePHP によって提供される機能の 1 つであり、検証を使用することで、要件に従って任意のデータ配列に検証を提供できます。 CakePHP では、形状とサイズの点でデータ検証の前にエンティティを構築する必要があります。ここでは、デフォルトのエンティティも考慮する必要があります。これらのエンティティは、エンティティの会話の前に検証されます。要件に応じて検証ルールを適用することもできます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

CakePHP 検証とは何ですか?

情報の承認は、モデル内の情報がアプリケーションのビジネス ルールに確実に適合するように支援するため、あらゆるアプリケーションの重要な部分です。たとえば、パスワードの長さが 8 文字程度であることを確認したり、ユーザー名が特別なものであることを保証したりする必要があります。承認ルールを特徴付けることにより、処理する構造が大幅に簡素化されます。

承認サイクルにはさまざまな観点があります。このセグメントで取り上げるのはモデル側です。基本的には、モデルに対して save() テクニックを呼び出したときに何が起こるかということです。承認ミスの表示に対処する方法に関する詳細データについては、

CakePHP 検証メソッド

次に、次のように CakePHP のさまざまな検証メソッドを見てみましょう。

1.

を追加

フィールドの標準セットに別の標準を追加します。後続の競合がクラスターである可能性がある場合、フィールドのルール リストは 2 番目の競合に置き換えられ、3 番目の競合は無視されます。

構文

Add(string $specified field, array|string $specified name,
array|Cake\Validation\ValidationRule $required rule [])

説明

上記の構文では、さまざまなパラメーターを指定して add メソッドを使用しています。上記の構文では、指定された名前は、追加する必要があるルールの名前を定義するために使用されます。配列は、要件に応じてこのルールまたは複数のルールを定義するために使用され、これは $this.

を返します。

2. allowedEmpty

このメソッドを使用すると、空のフィールドを許可できます

構文

allowEmpty(string $specified field, boolean|string|callable $whentrue, string|null msgull)

説明

上記の構文では、さまざまなパラメーターを指定して add メソッドを使用しています。上記の構文では、指定された名前は、追加する必要があるルールの名前を定義するために使用されます。ブール値パラメータは、いつ空にする必要があるかを示すために使用されます。ここでは、作成または更新操作を実行するときに true または false に関して検証することもできます。メッセージはメッセージ フィールドを表示するために使用され、これは $this.

を返します。

3.英数字

このメソッドを使用すると、要件に応じてフィールドに英数字ルールを追加できます。

構文

alphanumeric (string $specified field, string|null $Msgnull, string|callable|null $whennull)

説明

上記の構文では、さまざまなパラメーターを使用して英数字メソッドを使用しています。上記の構文では、指定された名前は、追加する必要があるルールの名前を定義するために使用されます。フィールドの標準セットに別の標準を追加します。後続の競合がクラスターである場合、フィールドのルール リストは 2 番目の競合で置き換えられ、3 番目の競合は無視され、$this が返されます。

4.クレジットカード

このメソッドを使用すると、要件に応じて指定されたフィールドにクレジット カード ルールを追加できます。

構文

creditCard(string $specified field , string $type'all', string|null $msgnull, string|callable|null $whennull)

説明

上記の構文では、クレジット カード メソッドを使用して、さまざまなパラメーターを持つルールを追加します。標準を適用する必要があるフィールド。

許可する必要があるカードの種類。デフォルトは「すべて」です。同様に、「mastercard」、「visa」、「amex」など、さまざまな承認済みのカード タイプを指定することもできます。

標準がうまくいかない場合の間違いメッセージ。承認ルールが適用される必要があり、$this を返す場合、「make」または「update」、または有効な利益をもたらす呼び出し可能。

5.メール

このメソッドを使用すると、要件に従ってフィールドに電子メール検証ルールを追加できます。

構文

Email(string $specified field , boolean $checkMXfalse, string|null $msgnull, string|callable|null, $whennull)

説明

上記の構文を使用すると、電子メール検証ルールを実装できます。このフィールドにも標準を適用する必要があります。

MX レコードをチェックするかどうかに関係なく。

標準が失敗したときの失敗メッセージ。

承認ルールが適用される必要がある場合、「作成」または「更新」、または有効な利益をもたらす呼び出し可能。

6. maxLength

このメソッドを使用すると、フィールドに文字列検証を適用できます。

構文

maxLength(string $specified field, integer $max, string|null $msgnull, string|callable|null $whennull)

説明

In the above syntax, we use the maxLength method with different parameters. Here the specified field is used to define the field to which we want to apply the rule, max is used to define the maximum length of string, msgnull is used to show an error message when the rule fails.

7. minLength

By using this method, we can apply string validation to the field.

Syntax

minLength(string $specified field, integer $min, string|null $msgnull, string|callable|null $whennull)

Explanation

In the above syntax, we use the minLength method with different parameters. Here the specified field is used to define the field which we want to apply the rule, min is used to define the minimum length of string, msgnull is used to show an error message when the rule fails.

How to Create CakePHP Validation?

Now let’s see how we can create CakePHP validation with examples as follows. First, we need to make the changes in routes.php file as follows.

<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true,
]));
$builder->applyMiddleware('csrf');
//$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
$builder->connect('validation',['controller'=>'Valid','action'=>'index']);
$builder->fallbacks();
});
?>

Now create an index.php file and write the following code as follows.

<?php
if($errors) {
foreach($errors as $error)
foreach($error as $mssg)
echo '<font color="red">'.$mssg.'</font><br>';
} else {
echo "There is no errors.";
}
echo $this->Form->create(NULL,array('url'=>'/validation'));
echo $this->Form->control('username of person');
echo $this->Form->control('password');
echo $this->Form->button('Submit');
echo $this->Form->end();
?>

Now execute the above code we will get the following screen as shown below screenshot.

CakePHP の検証

Suppose let’s consider, if we enter only password then it shows username is required as shown in the following screenshot.

CakePHP の検証

Similarly, we can apply validation for username of person filed as shown in the following screenshot as follows.

CakePHP の検証

In this way, we can implement different methods such as to get, post as per our requirement.

Conclusion

We hope from this article you learn more about the CakePHP validation. From the above article, we have taken in the essential idea of the CakePHP validation and we also see the representation and example of the CakePHP validation. From this article, we learned how and when we use the CakePHP validation.

以上がCakePHP の検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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