Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
use Cake\Validation\Validator; $validator = new Validator();
Daten validieren
Sobald wir den Validator erstellt haben, k?nnen wir das Validator-Objekt zum Validieren von Daten verwenden. Der folgende Code erkl?rt, wie wir Daten für die Login-Webseite validieren k?nnen.
$validator->notEmpty('username', 'We need username.')->add( 'username', 'validFormat', ['rule' => 'email','message' => 'E-mail must be valid']); $validator->notEmpty('password', 'We need password.'); $errors = $validator->errors($this->request->data());
Mit dem $validator-Objekt haben wir zun?chst die Methode notEmpty() aufgerufen, die sicherstellt, dass der Benutzername nicht leer sein darf. Danach haben wir die Methode add() verkettet, um eine weitere Validierung für das richtige E-Mail-Format hinzuzufügen.
Danach haben wir eine Validierung für das Passwortfeld mit der Methode notEmpty() hinzugefügt, die best?tigt, dass das Passwortfeld nicht leer sein darf.
Beispiel
Nehmen Sie ?nderungen in der Datei config/routes.php vor, wie im folgenden Programm gezeigt.
config/routes.php
<?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'=>'Valids','action'=>'index']); $builder->fallbacks(); });
Erstellen Sie eine ValidsController.php-Datei unter src/Controller/ValidsController.php. Kopieren Sie den folgenden Code in die Controller-Datei.
src/Controller/ValidsController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Validation\Validator; class ValidsController extends AppController{ public function index(){ $validator = new Validator(); $validator->notEmpty('username', 'We need username.')->add( 'username', 'validFormat', ['rule' => 'email','message' => 'E-mail must be valid']); $validator->notEmpty('password', 'We need password.'); $errors = $validator->errors($this->request->getData()); $this->set('errors',$errors); } } ?>
Erstellen Sie ein Verzeichnis Valids unter src/Template und erstellen Sie unter diesem Verzeichnis eine View-Datei mit dem Namen index.php. Kopieren Sie die Folgender Code in dieser Datei.
src/Template/Valids/index.php
<?php if($errors) { foreach($errors as $error) foreach($error as $msg) echo '<font color="red">'.$msg.'</font><br>'; } else { echo "No errors."; } echo $this->Form->create(NULL,array('url'=>'/validation')); echo $this->Form->control('username'); echo $this->Form->control('password'); echo $this->Form->button('Submit'); echo $this->Form->end(); ?>
Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen ?
http://localhost/cakephp4/validation
Ausgabe
Klicken Sie auf die Schaltfl?che ?Senden“, ohne etwas einzugeben. Sie erhalten die folgende Ausgabe.

Http – Client
Mit dem http-Client k?nnen Anfragen wie GET, POST, PUT usw. gestellt werden.
Um mit dem HTTP-Client zu arbeiten, fügen Sie Folgendes hinzu ?
use Cake\Http\Client;
Lassen Sie uns an einem Beispiel arbeiten, um die Funktionsweise des HTTP-Clients zu verstehen.
HTTP-GET-Methode
Um die Daten von der angegebenen http-URL zu erhalten, k?nnen Sie wie folgt vorgehen ?
$response = $http->get('https://jsonplaceholder.typicode.com/users');
Falls Sie einige Abfrageparameter übergeben müssen, k?nnen diese wie folgt übergeben werden ?
$response = $http->get('https://jsonplaceholder.typicode.com/users', ["id", 1]);
Um die Antwort zu erhalten, k?nnen Sie wie folgt vorgehen: ?
Für normale Textdaten ?
$response->getBody();
Für Json ?
$response->getJson();
Für Xml ?
$response->getXml()
Beispiel
Nehmen Sie ?nderungen in der Datei config/routes.php vor, wie im folgenden Programm gezeigt.
config/routes.php
<?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('getData',['controller'=>'Requests','action'=>'index']); $builder->fallbacks(); });
Erstellen Sie eine RequestsController.php-Datei unter src/Controller/RequestsController.php. Kopieren Sie den folgenden Code in die Controller-Datei.
src/Controller/RequestsController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Http\Client; class RequestsController extends AppController{ public function index(){ $http = new Client(); $response = $http->get('https://jsonplaceholder.typicode.com/users'); $stream = $response->getJson(); $this->set('response',$stream); } } ?>
Erstellen Sie ein Verzeichnis Requests unter src/Template und erstellen Sie unter diesem Verzeichnis eine View-Datei mit dem Namen index.php. Kopieren Sie die Folgender Code in dieser Datei.
src/Template/Requests/index.php
<h3>All Users from url : https://jsonplaceholder.typicode.com/users</h3> <?php if($response) { foreach($response as $res => $val) { echo '<font color="gray">Name: '.$val["name"].' Email -'.$val["email"].'</font><br>'; } } ?>
Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen ?
http://localhost/cakephp4/getData
Ausgabe
Klicken Sie auf die Schaltfl?che ?Senden“, ohne etwas einzugeben. Sie erhalten die folgende Ausgabe.

HTTP-POST-Methode
Um mit Post zu arbeiten, müssen Sie den $http-Client wie folgt aufrufen ?
$response = $http->post('yoururl', data);
Sehen wir uns dazu ein Beispiel an.
Beispiel
Nehmen Sie ?nderungen in der Datei config/routes.php vor, wie im folgenden Programm gezeigt.
config/routes.php
<?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('postData',['controller'=>'Requests','action'=>'index']); $builder->fallbacks(); });
Erstellen Sie eine Datei RequestsController.php unter src/Controller/RequestsController.php. Kopieren Sie den folgenden Code in die Controller-Datei. Ignorieren, wenn bereits erstellt.
src/Controller/RequestsController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Http\Client; class RequestsController extends AppController{ public function index(){ $http = new Client(); $response = $http->post('https://postman-echo.com/post', [ 'name'=> 'ABC', 'email' => 'xyz@gmail.com' ]); } } ?>
Erstellen Sie ein Verzeichnis Requests unter src/Template und erstellen Sie unter diesem Verzeichnis eine View-Datei mit dem Namen index.php. Kopieren Sie den folgenden Code in diese Datei.
src/Template/Requests/index.php
<h3>Testing Post Method</h3>
Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen ?
http://localhost/cakephp4/postData
Ausgabe
Nachstehend finden Sie die Ausgabe des Codes ?

?hnlich k?nnen Sie es mit der PUT-Methode versuchen.
$http = new Client(); $response = $http->put('https://postman-echo.com/post', [ 'name'=> 'ABC', 'email' => 'xyz@gmail.com' ]);
Das obige ist der detaillierte Inhalt vonCakePHP erstellt Validatoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen



In JavaScript müssen Sie eine benutzerdefinierte Funktion verwenden, um festzustellen, ob zwei Arrays gleich sind, da es keine integrierte Methode gibt. 1) Grundlegende Implementierung besteht darin, L?ngen und Elemente zu vergleichen, kann jedoch keine Objekte und Arrays verarbeiten. 2) Rekursiver Tiefenvergleich kann verschachtelte Strukturen umgehen, erfordert jedoch eine besondere Behandlung von NAN. 3) Spezielle Typen wie Funktionen und Daten müssen berücksichtigt werden, und eine weitere Optimierung und Tests sind erforderlich.

Die überprüfung der Sozialversicherungsnummer wird in PHP durch regul?re Ausdrücke und einfache Logik implementiert. 1) Verwenden Sie regelm??ige Ausdrücke, um die Eingabe zu reinigen und nicht numerische Zeichen zu entfernen. 2) überprüfen Sie, ob die Saitenl?nge 18 Bit betr?gt. 3) Berechnen und überprüfen Sie das Scheckbit, um sicherzustellen, dass es dem letzten Bit des Eingangs übereinstimmt.

Die Methoden zur korrekten Verarbeitung dieses Zeigens in JavaScript -Verschlusssachen umfassen: 1. Verwenden Sie Pfeilfunktionen. Diese Methoden stellen sicher, dass diese intrinsische Funktion korrekt auf den Kontext der externen Funktion zeigt.

Die Verwendung von JavaScript zur Implementierung der Datenverschlüsselung kann die Crypto-JS-Bibliothek verwenden. 1. Installieren und Einführung der Crypto-JS-Bibliothek. 2. Verwenden Sie den AES -Algorithmus zur Verschlüsselung und Entschlüsselung, um sicherzustellen, dass der gleiche Schlüssel verwendet wird. 3. Achten Sie auf den sicheren Speicher und die übertragung von Schlüssel. Es wird empfohlen, den CBC -Modus- und Umgebungsvariablen zum Speichern von Schlüssel zu verwenden. 4. Erw?gen Sie, Webworker zu verwenden, wenn Sie eine hohe Leistung ben?tigen. 5. Bei der Verarbeitung von Nicht-ASCII-Zeichen müssen Sie die Codierungsmethode angeben.

In PHP wird der Konstruktor durch die Zaubermethode \ _ \ _ Construct definiert. 1) Definieren Sie die Methode \ _ \ _ Konstrukte in der Klasse, die automatisch aufgerufen wird, wenn das Objekt instanziiert ist und zur Initialisierung der Objekteigenschaften verwendet wird. 2) Der Konstruktor kann eine beliebige Anzahl von Parametern akzeptieren und das Objekt flexibel initialisieren. 3) Wenn Sie einen Konstruktor in einer Unterklasse definieren, müssen Sie übergeordnete :: \ _ \ _ construct () aufrufen, um sicherzustellen, dass der Konstruktor der übergeordneten Klasse ausgeführt wird. 4) Durch optionale Parameter und Bedingungen kann der Konstruktor den überlastungseffekt simulieren. 5) Der Konstruktor sollte pr?zise sein und nur die erforderliche Initialisierung sollte durchgeführt werden, um komplexe Logik- oder E/A -Operationen zu vermeiden.

Zu den Schritten zum Bereitstellen einer Joomla -Website auf PHPStudy geh?ren: 1) Konfigurieren Sie Phpstudy und stellen Sie sicher, dass Apache- und MySQL -Dienste die Kompatibilit?t der PHP -Version ausführen und überprüfen. 2) Laden und dekomprimieren die Website von Phpstudy von der offiziellen Joomla -Website auf das Root -Verzeichnis von Phpstudy und vervollst?ndigen Sie die Installation gem?? dem Installationsassistenten. 3) Erstellen Sie grundlegende Konfigurationen, z. B. das Festlegen des Website -Namens und das Hinzufügen von Inhalten.

Zu den Vorteilen der Verwendung der Abh?ngigkeitsinjektion (DI) in PHP geh?ren: 1. Entkopplung, wodurch der Code modularer wird; 2. Verbesserung der Testbarkeit und leicht zu bedienende Mocke oder Stubs; 3.. Flexibilit?t erh?hen und die Wiederverwendung von Abh?ngigkeiten erleichtern; 4. Verbesserung der Wiederverwendbarkeit und die Klassen k?nnen in verschiedenen Umgebungen verwendet werden. Durch die übergabe von Abh?ngigkeiten extern an Objekte erleichtert DI den Code leichter zu warten und zu erweitern.

SendingemailswithphpisstraInightforenusingthemail () functionOroreadvancedLibrary -Likephpmailer.1) Usemail () Forbasicemails, SettingRecipients, Probanden, Nachrichten und Headers.2) ForHtmlemails, adjustheaderStospecifyHtMlContent.3) einsetzt
