Form Errors এবং Success Messages প্রদর্শন

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter Form Handling এবং Validation |

CodeIgniter-এ ফর্মের ভ্যালিডেশন ত্রুটি (Form Errors) এবং সফল বার্তা (Success Messages) প্রদর্শনের জন্য বিল্ট-ইন ফিচার রয়েছে। এই বার্তাগুলো ব্যবহারকারীদের ইনপুট ফর্মের সঠিকতা যাচাই এবং সঠিক কার্যক্রম নিশ্চিত করতে সহায়ক।


ফর্ম ভ্যালিডেশন সেটআপ

CodeIgniter-এ ফর্ম ভ্যালিডেশন পরিচালনা করতে Validation লাইব্রেরি ব্যবহার করা হয়। এই লাইব্রেরি ফর্ম ইনপুট যাচাই করতে এবং প্রয়োজনীয় ত্রুটি বার্তা প্রদর্শন করতে সক্ষম।

Controller-এ ফর্ম ভ্যালিডেশন উদাহরণ:

<?php
namespace App\Controllers;

use CodeIgniter\Controller;

class FormController extends Controller {
    public function submit() {
        $validation = \Config\Services::validation();

        // ফর্মের নিয়ম সংজ্ঞায়িত
        $rules = [
            'username' => 'required|min_length[5]',
            'email'    => 'required|valid_email',
            'password' => 'required|min_length[8]'
        ];

        if ($this->request->getMethod() === 'post') {
            if (!$this->validate($rules)) {
                // ত্রুটি বার্তা দেখানো
                return view('form_view', ['validation' => $validation]);
            } else {
                // সফল বার্তা দেখানো
                session()->setFlashdata('success', 'Form submitted successfully!');
                return redirect()->to('/form');
            }
        }

        return view('form_view');
    }
}

View-তে ত্রুটি বার্তা প্রদর্শন

ত্রুটি বার্তা দেখানোর জন্য কোড:

View ফাইলের মধ্যে ভ্যালিডেশন ত্রুটি বার্তা প্রদর্শনের জন্য নিচের কোড ব্যবহার করুন:

<?php if (isset($validation)): ?>
    <div class="alert alert-danger">
        <?= $validation->listErrors() ?>
    </div>
<?php endif; ?>

আলাদা ইনপুট ফিল্ডের ত্রুটি প্রদর্শন:

<div>
    <label for="username">Username</label>
    <input type="text" name="username" value="<?= set_value('username') ?>">
    <small class="text-danger"><?= $validation->getError('username') ?></small>
</div>

<div>
    <label for="email">Email</label>
    <input type="email" name="email" value="<?= set_value('email') ?>">
    <small class="text-danger"><?= $validation->getError('email') ?></small>
</div>

View-তে সফল বার্তা প্রদর্শন

Session Flashdata ব্যবহার করে সফল বার্তা প্রদর্শন:

<?php if (session()->getFlashdata('success')): ?>
    <div class="alert alert-success">
        <?= session()->getFlashdata('success') ?>
    </div>
<?php endif; ?>

সম্পূর্ণ View উদাহরণ

app/Views/form_view.php

<!DOCTYPE html>
<html>
<head>
    <title>Form Validation</title>
</head>
<body>
    <h1>Registration Form</h1>

    <!-- ত্রুটি বার্তা -->
    <?php if (isset($validation)): ?>
        <div class="alert alert-danger">
            <?= $validation->listErrors() ?>
        </div>
    <?php endif; ?>

    <!-- সফল বার্তা -->
    <?php if (session()->getFlashdata('success')): ?>
        <div class="alert alert-success">
            <?= session()->getFlashdata('success') ?>
        </div>
    <?php endif; ?>

    <!-- ফর্ম -->
    <form action="/form/submit" method="post">
        <?= csrf_field() ?>
        <div>
            <label for="username">Username</label>
            <input type="text" name="username" value="<?= set_value('username') ?>">
            <small class="text-danger"><?= $validation->getError('username') ?></small>
        </div>

        <div>
            <label for="email">Email</label>
            <input type="email" name="email" value="<?= set_value('email') ?>">
            <small class="text-danger"><?= $validation->getError('email') ?></small>
        </div>

        <div>
            <label for="password">Password</label>
            <input type="password" name="password">
            <small class="text-danger"><?= $validation->getError('password') ?></small>
        </div>

        <button type="submit">Submit</button>
    </form>
</body>
</html>

Common Functions

set_value('field_name')

ফর্ম পুনরায় লোড হলে ফিল্ডে পূর্বের ইনপুট মান প্রদর্শন করে।

getError('field_name')

নির্দিষ্ট ইনপুট ফিল্ডের ত্রুটি বার্তা প্রদর্শন করে।

listErrors()

সব ত্রুটি একসাথে তালিকাভুক্ত করে দেখায়।

session()->setFlashdata('key', 'value')

একটি সাময়িক বার্তা সংরক্ষণ করে।

session()->getFlashdata('key')

সেট করা বার্তা পুনরায় রেন্ডার করে।


উপসংহার

CodeIgniter-এ ফর্ম ভ্যালিডেশন এবং বার্তা প্রদর্শন একটি সহজ এবং কার্যকর পদ্ধতি। Form Errors ব্যবহারকারীদের ইনপুটের ত্রুটি সংশোধন করতে সাহায্য করে এবং Success Messages সফল কাজের জন্য তাদের নিশ্চিত করে। এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।

Content added By
Promotion