Form Validation Rules এবং Methods

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

Form Validation হলো CodeIgniter এর একটি গুরুত্বপূর্ণ ফিচার, যা ব্যবহারকারীর ইনপুট ডেটা যাচাই করার জন্য ব্যবহৃত হয়। এটি ডাটাবেসে ডেটা সংরক্ষণের আগে নিশ্চিত করে যে ইনপুট সঠিক এবং নিরাপদ। CodeIgniter এ Form Validation কার্যকর করার জন্য বিভিন্ন Rules এবং Methods সরবরাহ করা হয়েছে।


Form Validation এর প্রধান উপাদান

  1. Rules (নিয়ম): ইনপুট যাচাই করার জন্য নির্ধারিত নিয়ম।
  2. Methods (পদ্ধতি): Validation পরিচালনা করার জন্য সরবরাহকৃত মেথড।

Form Validation Rules

Form Validation Rules হলো ডেটার ধরন এবং বৈধতা যাচাই করার জন্য ব্যবহৃত প্রি-ডিফাইন্ড নিয়ম। নিচে গুরুত্বপূর্ণ কয়েকটি Rules এর উদাহরণ দেওয়া হলো:

১. required

  • ইনপুট ফিল্ড খালি রাখা যাবে না।
  • উদাহরণ:

    $this->form_validation->set_rules('name', 'Name', 'required');
    

২. min_length

  • ইনপুট ফিল্ডের মিনিমাম দৈর্ঘ্য।
  • উদাহরণ:

    $this->form_validation->set_rules('password', 'Password', 'required|min_length[8]');
    

৩. max_length

  • ইনপুট ফিল্ডের সর্বোচ্চ দৈর্ঘ্য।
  • উদাহরণ:

    $this->form_validation->set_rules('username', 'Username', 'required|max_length[20]');
    

৪. valid_email

  • ইনপুট একটি বৈধ ইমেইল হতে হবে।
  • উদাহরণ:

    $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
    

৫. numeric

  • ইনপুট ফিল্ডে শুধুমাত্র সংখ্যা থাকতে হবে।
  • উদাহরণ:

    $this->form_validation->set_rules('age', 'Age', 'required|numeric');
    

৬. matches

  • ইনপুট ফিল্ডের মান অন্য একটি ফিল্ডের মানের সাথে মিলতে হবে।
  • উদাহরণ:

    $this->form_validation->set_rules('password', 'Password', 'required');
    $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required|matches[password]');
    

৭. is_unique

  • ইনপুট ফিল্ডে এমন একটি মান থাকতে হবে, যা ডাটাবেসে ইউনিক।
  • উদাহরণ:

    $this->form_validation->set_rules('username', 'Username', 'required|is_unique[users.username]');
    

Form Validation Methods

CodeIgniter এ Form Validation পরিচালনা করার জন্য কয়েকটি গুরুত্বপূর্ণ মেথড ব্যবহার করা হয়।

১. set_rules()

  • নির্দিষ্ট ফিল্ডের জন্য Validation Rules সেট করতে ব্যবহার করা হয়।
  • উদাহরণ:

    $this->form_validation->set_rules('name', 'Name', 'required|min_length[3]');
    

২. run()

  • Validation Rules কার্যকর করার জন্য ব্যবহৃত হয়।
  • উদাহরণ:

    if ($this->form_validation->run() == FALSE) {
        $this->load->view('form_view');
    } else {
        echo "Validation Successful!";
    }
    

৩. set_message()

  • কাস্টম এরর মেসেজ নির্ধারণ করার জন্য ব্যবহার করা হয়।
  • উদাহরণ:

    $this->form_validation->set_message('required', '{field} ফিল্ডটি পূরণ করা বাধ্যতামূলক।');
    

৪. error_array()

  • সমস্ত এরর মেসেজ একটি অ্যারে হিসেবে পেতে ব্যবহৃত হয়।
  • উদাহরণ:

    $errors = $this->form_validation->error_array();
    print_r($errors);
    

৫. error_string()

  • সমস্ত এরর মেসেজ একটি স্ট্রিং হিসেবে পেতে ব্যবহৃত হয়।
  • উদাহরণ:

    echo $this->form_validation->error_string();
    

উদাহরণ: একটি সম্পূর্ণ Form Validation

Controller

class User extends CI_Controller {
    public function register() {
        $this->load->library('form_validation');

        $this->form_validation->set_rules('name', 'Name', 'required|min_length[3]');
        $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
        $this->form_validation->set_rules('password', 'Password', 'required|min_length[8]');
        $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required|matches[password]');

        if ($this->form_validation->run() == FALSE) {
            $this->load->view('register_form');
        } else {
            echo "Registration Successful!";
        }
    }
}

View (register_form.php)

<form method="post" action="<?php echo base_url('user/register'); ?>">
    <label for="name">Name:</label>
    <input type="text" name="name" value="<?php echo set_value('name'); ?>">
    <?php echo form_error('name'); ?>

    <label for="email">Email:</label>
    <input type="text" name="email" value="<?php echo set_value('email'); ?>">
    <?php echo form_error('email'); ?>

    <label for="password">Password:</label>
    <input type="password" name="password">
    <?php echo form_error('password'); ?>

    <label for="passconf">Confirm Password:</label>
    <input type="password" name="passconf">
    <?php echo form_error('passconf'); ?>

    <button type="submit">Register</button>
</form>

Form Validation এর সুবিধা

  1. ইনপুট যাচাই সহজ এবং সুরক্ষিত।
  2. ডাটাবেস সংরক্ষণের আগে ইনপুট যাচাই নিশ্চিত করা।
  3. প্রি-ডিফাইন্ড Rules ব্যবহার করে দ্রুত ডেভেলপমেন্ট।
  4. কাস্টম মেসেজ ব্যবহারযোগ্য।

Form Validation CodeIgniter এর একটি শক্তিশালী ফিচার, যা ওয়েব অ্যাপ্লিকেশনে ইনপুট যাচাইয়ের একটি নিরাপদ এবং কার্যকর সমাধান প্রদান করে।

Content added By
Promotion