Rumah >pembangunan bahagian belakang >tutorial php >Mengesahkan data anda dengan Pengesahan Hormat
Artikel ini memperkenalkan Pengesahan Hormat, pakej pengesahan data yang diselaraskan yang menawarkan fleksibiliti dan kesederhanaan yang dipertingkatkan berbanding dengan alternatif popular seperti Symfony, Laravel, dan Zend Validators. Mari kita meneroka ciri -ciri utamanya.
Kelebihan Utama Pengesahan Hormat:
getFullMessage
, dan getMainMessage
untuk maklum balas pengguna yang lebih baik. findMessages
not()
), memperkuat keamanan aplikasi dan integriti data. oneOf
allOf
Rangka kerja yang sedia ada sering termasuk komponen pengesahan. Komponen Validator Symfony, sebagai contoh, menggunakan anotasi:
Pakej Pengesahan Illuminate Laravel menawarkan pendekatan yang berbeza:
<code class="language-php">class UserSubscriptionForm { protected $email; public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('email', new \Assert\Email([ 'message' => 'Invalid email.' ])); } }</code>
ZEND Validator menyediakan fungsi yang sama. Pengesahan penghormatan menawarkan alternatif yang lebih ringkas.
<code class="language-php">//Laravel Validation $validator = \Validator::make( ['email' => $request->get('email')], ['email' => 'required|email'] );</code>
Pengesahan Hormat dalam Tindakan:
Contoh pengesahan e -mel asas menggunakan pengesahan penghormatan:
Hormat Pengesahan cemerlang dalam mengendalikan pelbagai peraturan melalui Chaining:
<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>
atau menggunakan
<code class="language-php">Validator::string()->noWhitespace()->length(4, 10);</code>:
allOf
<code class="language-php">$inputValidator = \Respect\Validation\Validator::allOf(new String(), new Length(4, 10));</code>
<code class="language-php">$inputValidator = \Respect\Validation\Validator::not(\Respect\Validation\Validator::numeric());</code>Contoh Pengesahan Borang Langganan Pengguna (Laravel):
Artikel ini menyediakan contoh yang komprehensif menggunakan borang langganan pengguna berasaskan Laravel, menunjukkan cara membuat kelas Validator Custom (
) untuk menguruskan peraturan pengesahan dan mesej ralat dengan berkesan. Contoh ini mempamerkan kuasa dan fleksibiliti pengesahan penghormatan dalam senario dunia nyata. (Kod terperinci untuk contoh ini ditinggalkan untuk keringkasan, tetapi terdapat dalam input asal).
UserSubscriptionValidator
Membuat dan memperluas Peraturan:
Pengesahan menghormati membolehkan membuat peraturan tersuai menggunakan kaedah with()
untuk menambah ruang nama. Ia juga menyokong integrasi lancar dengan peraturan dari Symfony dan 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>
Kesimpulan:
Pengesahan penghormatan menyediakan alternatif yang menarik untuk pengesahan data, menekankan kesederhanaan, fleksibiliti, dan lanjutan. API yang bersih dan keupayaan integrasi menjadikannya alat yang berharga bagi pemaju yang mencari penyelesaian pengesahan yang lebih cekap dan mantap.
Soalan Lazim (Soalan Lazim) Mengenai Pengesahan Data: (bahagian Soalan Lazim dari input asal ditinggalkan untuk keringkasan, kerana ia tidak berkaitan dengan topik teras pakej pengesahan penghormatan.)
Atas ialah kandungan terperinci Mengesahkan data anda dengan Pengesahan Hormat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!