Bean Validation এবং Annotations

JSF এর ফর্ম এবং ফর্ম প্রসেসিং - জেএসএফ (JSF) - Web Development

197

JavaServer Faces (JSF) ফ্রেমওয়ার্কে Bean Validation এবং Annotations খুবই গুরুত্বপূর্ণ, কারণ এগুলি ডেটা ভ্যালিডেশন এবং ইউজার ইনপুট যাচাই করার জন্য ব্যবহৃত হয়। JSF-এ Bean Validation ডেটার মান যাচাই করতে সহায়তা করে, যাতে অ্যাপ্লিকেশনটি সঠিক এবং নির্ভরযোগ্য ডেটার উপর কাজ করে।

Bean Validation কি?


Bean Validation হল JavaBeans-এর জন্য একটি স্ট্যান্ডার্ড স্পেসিফিকেশন যা অবজেক্টের প্রপার্টি বা ফিল্ডের মান যাচাই করার জন্য ব্যবহৃত হয়। এটি বিশেষ করে ইনপুট ভ্যালিডেশন, যেমন ফর্ম ফিল্ড ভ্যালিডেশন এবং মডেল ডেটার জন্য ব্যবহৃত হয়। JSF এবং অন্যান্য Java EE ফ্রেমওয়ার্কগুলোর সাথে Bean Validation ব্যবহার করলে ডেভেলপাররা খুব সহজে ইউজারের ইনপুট যাচাই করতে পারেন।

JSF-এ Bean Validation কার্যকর করতে JSR 303/JSR 380 স্পেসিফিকেশন ব্যবহার করা হয়। এটি javax.validation প্যাকেজের মাধ্যমে প্রক্রিয়া করে। এটি ভ্যালিডেশন এন্ড পলিসি তৈরির জন্য Annotations সরবরাহ করে যা ডেটার সততা নিশ্চিত করে।

Bean Validation এর কাজের প্রক্রিয়া


Bean Validation সাধারণত Annotations এর মাধ্যমে কাজ করে। এই Annotations গুলি JavaBeans এর ফিল্ড, মেথড, বা ক্লাসে যোগ করা হয়, যাতে সেগুলোর মান যাচাই করা যায়। Bean Validation বিভিন্ন ধরনের ইনপুট ভ্যালিডেশন নিশ্চিত করতে সহায়তা করে, যেমন ফর্ম ফিল্ডে পাঠ্য মানের দৈর্ঘ্য, নাম্বার, তারিখ, ইমেইল ফরম্যাট যাচাই করা।

Common Bean Validation Annotations


  1. @NotNull: একটি প্রপার্টি অবশ্যই null না হওয়া উচিত।
  2. @Size: একটি String বা Collection এর সাইজ যাচাই করা।
  3. @Min / @Max: একটি সংখ্যার সর্বনিম্ন এবং সর্বোচ্চ সীমা যাচাই করা।
  4. @Email: একটি বৈধ ইমেইল ফরম্যাট যাচাই করা।
  5. @Pattern: একটি String প্রপার্টির জন্য প্যাটার্ন যাচাই করা।
  6. @Past / @Future: তারিখটি অতীত বা ভবিষ্যতের হতে হবে।
  7. @AssertTrue / @AssertFalse: Boolean প্রপার্টি সঠিক হতে হবে।

উদাহরণ:

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.validation.constraints.Email;

public class User {
    @NotNull
    @Size(min = 2, max = 30)
    private String name;

    @NotNull
    @Email
    private String email;

    // Getter and Setter
}

এখানে:

  • @NotNull: name এবং email ফিল্ডের মান null হতে পারবে না।
  • @Size: name ফিল্ডের দৈর্ঘ্য কমপক্ষে ২ এবং সর্বোচ্চ ৩০ হতে হবে।
  • @Email: email ফিল্ডটি একটি বৈধ ইমেইল ফরম্যাট হতে হবে।

JSF Bean Validation এবং UI কম্পোনেন্টে Annotations ব্যবহার


JSF-এ Bean Validation ব্যবহারের জন্য JSF UI কম্পোনেন্ট এবং Managed Beans এর মধ্যে যুক্ত করা হয়। JSF ফর্মের ভ্যালিডেশন করতে, আপনি h:inputText, h:inputSecret এবং অন্যান্য কম্পোনেন্টগুলির মধ্যে validation ব্যবহার করতে পারেন। এতে, ফর্ম সাবমিট করার সময় ভ্যালিডেশন ঘটে এবং যদি কোনো ত্রুটি থাকে, তাহলে তা ব্যবহারকারীকে দেখানো হয়।

উদাহরণ:

<h:form>
    <h:outputLabel for="name" value="Name:" />
    <h:inputText id="name" value="#{userBean.name}" required="true" />
    <h:message for="name" />

    <h:outputLabel for="email" value="Email:" />
    <h:inputText id="email" value="#{userBean.email}" required="true" />
    <h:message for="email" />

    <h:commandButton value="Submit" action="#{userBean.submit}" />
</h:form>

এখানে:

  • required="true": এটি নিশ্চিত করে যে ইউজার ইনপুট ফিল্ডটি খালি না থাকে।
  • h:message: এটি ত্রুটির বার্তা দেখানোর জন্য ব্যবহৃত হয়, যখন ইনপুট ভ্যালিডেশন ব্যর্থ হয়।

Bean Validation ফিচার JSF Managed Bean এ যুক্ত করা


JSF এর Managed Beans এ Bean Validation ইন্টিগ্রেট করতে, সাধারণত @Valid annotation ব্যবহার করা হয়, যাতে ইউজারের ইনপুট প্রপার্টি ভ্যালিডেশনের জন্য যাচাই করা যায়।

উদাহরণ: Managed Bean এ Bean Validation

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.validation.constraints.Email;

@ManagedBean
@RequestScoped
public class UserBean {

    @NotNull(message = "Name is required")
    @Size(min = 2, max = 30, message = "Name must be between 2 and 30 characters")
    private String name;

    @NotNull(message = "Email is required")
    @Email(message = "Email must be valid")
    private String email;

    // Getters and Setters

    public String submit() {
        // Your business logic here
        return "success";
    }
}

এখানে:

  • @NotNull, @Size, @Email: Managed Bean এর ফিল্ড গুলোর জন্য Bean Validation এর Annotations ব্যবহার করা হয়েছে।

Bean Validation এর Integration এর মাধ্যমে ইউজার ইন্টারফেসে ত্রুটি দেখানো


JSF Bean Validation সম্পন্ন হলে, h:message কম্পোনেন্ট ব্যবহার করে ত্রুটি বার্তা UI তে দেখানো যায়। যদি কোনো ইনপুট ভ্যালিডেশন ব্যর্থ হয়, তাহলে ব্যবহারকারীকে ত্রুটি বার্তা দেখানো হবে।

<h:form>
    <h:inputText value="#{userBean.name}" />
    <h:message for="name" />
    <h:inputText value="#{userBean.email}" />
    <h:message for="email" />
    <h:commandButton value="Submit" action="#{userBean.submit}" />
</h:form>

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

সারাংশ


JSF-এ Bean Validation ব্যবহার করে আপনি ইউজার ইনপুট যাচাই করতে পারেন এবং Annotations এর মাধ্যমে সেই যাচাইয়ের জন্য শর্তাদি নির্ধারণ করতে পারেন। Bean Validation JSF অ্যাপ্লিকেশনে ডেটা সঠিকতা নিশ্চিত করতে সহায়তা করে, এবং JSF কম্পোনেন্টগুলির সাথে ইন্টিগ্রেট হয়ে একটি কার্যকর ভ্যালিডেশন সিস্টেম তৈরি করে। Annotations (যেমন, @NotNull, @Size, @Email) এর মাধ্যমে আপনি সহজেই ভ্যালিডেশন যুক্ত করতে পারেন এবং h:message ব্যবহার করে ইউজারের ত্রুটি দেখাতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...