Validation Error Handling এবং Display

Form Handling এবং Validation - ফ্যালকন (Phalcon) - Web Development

227

Phalcon ফ্রেমওয়ার্কে Validation একটি গুরুত্বপূর্ণ প্রক্রিয়া, যা ডেটা ইনপুট যাচাই করতে ব্যবহৃত হয়। যখন ব্যবহারকারীর ইনপুট কোনো মডেলে সরবরাহ করা হয়, তখন ফ্যালকন তার বৈধতা যাচাই করে এবং যদি কোনো ত্রুটি থাকে, তাহলে তা ব্যবহারকারীর কাছে উপস্থাপন করে। এটি ব্যবহারকারীর জন্য একটি স্বচ্ছ এবং ইউজার-ফ্রেন্ডলি অভিজ্ঞতা তৈরি করে।

Phalcon এর Validation সিস্টেম অত্যন্ত শক্তিশালী এবং কাস্টমাইজযোগ্য, যা আপনাকে বিভিন্ন ধরনের ভ্যালিডেশন রুল তৈরি করতে সহায়ক।


Phalcon Validation ক্লাস

Phalcon এর Phalcon\Mvc\Model\Validation ক্লাস ব্যবহার করে ইনপুট ভ্যালিডেশন তৈরি করা যায়। এই ক্লাসটি বিভিন্ন ধরনের ভ্যালিডেশন রুল যেমন presenceOf, email, between, stringLength, ইত্যাদি প্রদান করে।

একটি সাধারণ ভ্যালিডেশন উদাহরণ হলো:

use Phalcon\Mvc\Model\Validation;
use Phalcon\Mvc\Model\Validation\Validator\PresenceOf;

class Users extends \Phalcon\Mvc\Model
{
    public $id;
    public $name;
    public $email;

    public function validation()
    {
        $this->validate(new PresenceOf([
            'field' => 'name',
            'message' => 'Name is required'
        ]));

        $this->validate(new PresenceOf([
            'field' => 'email',
            'message' => 'Email is required'
        ]));

        return $this->validationHasFailed() != true;
    }
}

এখানে, PresenceOf ভ্যালিডেটর ব্যবহার করা হয়েছে, যা নিশ্চিত করে যে name এবং email ফিল্ডগুলো শূন্য (null) না হয়।


Validation Error Handling

ভ্যালিডেশন চলাকালে যদি কোনো ত্রুটি ঘটে, তবে Phalcon সেই ত্রুটিগুলি ধরে রাখে এবং সেগুলি পরবর্তী ব্যবহারের জন্য প্রেরণ করে। আপনি সহজেই validationHasFailed() মেথডটি ব্যবহার করে চেক করতে পারেন যে, ভ্যালিডেশন সফল হয়েছে কিনা। যদি সফল না হয়, তবে আপনি ত্রুটি বার্তা দেখাতে পারেন।

Validation ত্রুটি চেক এবং প্রদর্শন

$user = new Users();
$user->name = '';
$user->email = 'invalidemail';

if ($user->save() === false) {
    foreach ($user->getMessages() as $message) {
        echo $message, "<br>";
    }
}

এখানে, getMessages() মেথড ব্যবহার করে আপনি সমস্ত ত্রুটি বার্তা একসাথে পেতে পারেন এবং ব্যবহারকারীর কাছে প্রদর্শন করতে পারেন।


Validation Error Display in Forms

Phalcon ফ্রেমওয়ার্কে, আপনি ফর্ম ভ্যালিডেশন ত্রুটিগুলি সহজেই ব্যবহারকারীর সামনে প্রদর্শন করতে পারেন। সাধারণত, আপনি একটি HTML ফর্ম তৈরি করেন যেখানে ইনপুট ফিল্ডস থাকে এবং যদি কোনো ভ্যালিডেশন ত্রুটি ঘটে, তবে সেই ত্রুটিগুলি ফর্মের নিচে প্রদর্শন করা হয়।

উদাহরণ: HTML ফর্মের সাথে Validation Error Display

<form method="post" action="/users/save">
    <label>Name</label>
    <input type="text" name="name">
    <br>

    <label>Email</label>
    <input type="text" name="email">
    <br>

    <input type="submit" value="Submit">
</form>

<?php
if (isset($validationMessages)) {
    foreach ($validationMessages as $message) {
        echo "<p style='color:red;'>" . $message . "</p>";
    }
}
?>

এখানে, ফর্মের নিচে সকল ত্রুটি বার্তা রেড কালারে প্রদর্শিত হবে যদি ভ্যালিডেশন ব্যর্থ হয়।


কাস্টম Validation Error Message

Phalcon আপনাকে কাস্টম ভ্যালিডেশন রুল তৈরি করার সুযোগও দেয়। আপনি নিজে থেকে কাস্টম ভ্যালিডেশন তৈরি করতে পারেন, যেখানে আপনি নিজের লজিক অনুযায়ী ত্রুটি বার্তা দিতে পারবেন।

উদাহরণ: কাস্টম Validation Rule

use Phalcon\Mvc\Model\Validation;
use Phalcon\Mvc\Model\Validation\ValidatorInterface;

class CustomValidator implements ValidatorInterface
{
    public function validate($validator, $entity)
    {
        $value = $entity->name;

        if (strlen($value) < 5) {
            $validator->appendMessage(new \Phalcon\Mvc\Model\Message("Name must be at least 5 characters long", "name"));
            return false;
        }

        return true;
    }
}

class Users extends \Phalcon\Mvc\Model
{
    public $name;

    public function validation()
    {
        $this->validate(new CustomValidator([
            'field' => 'name',
            'message' => 'Custom validation failed'
        ]));

        return $this->validationHasFailed() != true;
    }
}

এখানে, আমরা একটি কাস্টম ভ্যালিডেটর তৈরি করেছি যা যাচাই করে যে name ফিল্ডটির দৈর্ঘ্য কমপক্ষে ৫টি ক্যারেক্টার হতে হবে। যদি না হয়, তাহলে একটি কাস্টম ত্রুটি বার্তা প্রদর্শিত হবে।


সারাংশ

Phalcon ফ্রেমওয়ার্কে ভ্যালিডেশন সিস্টেম খুবই শক্তিশালী এবং কাস্টমাইজেবল। Validation ক্লাস এবং বিভিন্ন ভ্যালিডেটর যেমন PresenceOf, Email, StringLength ইত্যাদি ব্যবহার করে আপনি ইনপুট ডেটা যাচাই করতে পারেন। ফ্যালকন আপনাকে ভ্যালিডেশন ত্রুটির তালিকা প্রদর্শন করতে এবং সেগুলিকে ব্যবহারকারীকে উপস্থাপন করতে সাহায্য করে। এছাড়া, আপনি কাস্টম ভ্যালিডেশন রুলও তৈরি করতে পারেন। এটি আপনার অ্যাপ্লিকেশনকে আরও ইউজার-ফ্রেন্ডলি এবং শক্তিশালী করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...