Annotation ভিত্তিক Validation কনফিগারেশন

truts 2 এর Validation Framework - স্ট্রাটস (Struts 2) - Java Technologies

257

Struts 2 ফ্রেমওয়ার্কে, Annotation ভিত্তিক Validation হল একটি সহজ এবং আধুনিক পদ্ধতি যা আপনাকে আপনার অ্যাকশন ক্লাসে ডেটা ভ্যালিডেশন যুক্ত করতে সাহায্য করে। Struts 2-এ পূর্বে XML কনফিগারেশনের মাধ্যমে ভ্যালিডেশন কনফিগার করা হত, কিন্তু Annotation ভিত্তিক কনফিগারেশন দ্বারা কোডকে আরও পরিষ্কার এবং সংক্ষিপ্ত করা সম্ভব।

Struts 2 এর Annotation ভিত্তিক Validation এর সুবিধা

  1. কমপ্লেক্স কনফিগারেশন কমানো: XML কনফিগারেশনের পরিবর্তে, ভ্যালিডেশনকে ডিরেক্টলি অ্যাকশন ক্লাসে ইনলাইন করা যায়।
  2. সহজ এবং পরিষ্কার: Annotation ব্যবহারে কোডের পাঠযোগ্যতা বাড়ে এবং কোন বাহ্যিক কনফিগারেশন ফাইলের প্রয়োজন হয় না।
  3. ভাল ডিবাগিং: কারণ ভ্যালিডেশন সরাসরি ক্লাসে যুক্ত থাকে, তাই ডিবাগ করা অনেক সহজ হয়ে যায়।

Struts 2 এর Annotation ভিত্তিক Validation সিস্টেমটি @Validations, @Validation, এবং অন্যান্য বিভিন্ন অ্যনোটেশন ব্যবহার করে কাজ করে।


Struts 2-এ Annotation ভিত্তিক Validation কনফিগারেশন উদাহরণ

এখানে একটি সাধারণ উদাহরণ দেওয়া হলো যেখানে @RequiredFieldValidator, @EmailValidator এবং অন্যান্য ভ্যালিডেশন অ্যনোটেশন ব্যবহার করা হয়েছে।

1. Action Class উদাহরণ

Struts 2-এ Annotation ভিত্তিক Validation কনফিগার করার জন্য আপনাকে প্রথমে অ্যাকশন ক্লাসে প্রয়োজনীয় Validation অ্যনোটেশনগুলো ব্যবহার করতে হবে। নিচে একটি উদাহরণ দেওয়া হল:

package com.example.action;

import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.validation.annotations.EmailValidator;
import org.apache.struts2.validation.annotations.RequiredFieldValidator;

public class UserAction extends ActionSupport {

    private String username;
    private String email;

    @RequiredFieldValidator(message = "Username is required.")
    private String password;

    // Getter and Setter Methods
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Action(value = "/userAction", results = {
        @Result(name = "success", location = "/welcome.jsp"),
        @Result(name = "input", location = "/userForm.jsp")
    })
    public String execute() {
        // Perform the action logic
        return SUCCESS;
    }
}

ব্যাখ্যা:

  • @RequiredFieldValidator: এটি নিশ্চিত করে যে password ফিল্ডটি খালি থাকবে না।
  • @EmailValidator: এটি চেক করে যে email ফিল্ডে একটি সঠিক ইমেইল অ্যাড্রেস আছে কিনা।
  • @Action: এটি Struts 2-এ অ্যাকশন মেথড কনফিগার করার জন্য ব্যবহৃত হয়। এখানে SUCCESS রেজাল্টটি /welcome.jsp এ রিডাইরেক্ট করে এবং input রেজাল্টটি /userForm.jsp ফর্মে রিডাইরেক্ট করে।

2. Validation Configuration

Struts 2 এ ভ্যালিডেশন অ্যনোটেশন সাধারণত Struts 2 Validation Framework এর অংশ হিসেবে ব্যবহৃত হয়, এবং এটি xwork-conversion.properties বা validation.xml ফাইলের সাথে ইন্টিগ্রেট হতে পারে।

তবে, Annotation ভিত্তিক ভ্যালিডেশন কনফিগারেশনের ক্ষেত্রে, আপনাকে আলাদা কোনো কনফিগারেশন ফাইল প্রয়োজন নেই।

3. userForm.jsp (View)

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>User Form</title>
</head>
<body>
    <h2>User Registration Form</h2>
    <s:form action="userAction">
        <s:textfield name="username" label="Username" />
        <s:password name="password" label="Password" />
        <s:textfield name="email" label="Email" />
        <s:submit value="Submit" />
    </s:form>
</body>
</html>

এখানে, s:form ট্যাগ ব্যবহার করা হয়েছে যা username, password, এবং email ইনপুট ফিল্ডগুলোকে অ্যাকশন ক্লাসের প্রপার্টিতে মাপবে। এই ফর্মটি userAction নামের অ্যাকশন ক্লাসে পাঠানো হবে।

4. welcome.jsp (Success Page)

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
    <h2>Welcome, <s:property value="username" /></h2>
</body>
</html>

এখানে, s:property ট্যাগ ব্যবহার করে username প্রপার্টি ভ্যালু ডিসপ্লে করা হচ্ছে, যা UserAction ক্লাস থেকে আসবে।


সাধারণ Validation অ্যনোটেশন

Struts 2-এর Annotation ভিত্তিক Validation-এর মাধ্যমে বিভিন্ন ধরনের ইনপুট ভ্যালিডেশন করা যায়। কিছু সাধারণ ভ্যালিডেশন অ্যনোটেশন:

  1. @RequiredFieldValidator:
    • একটি ফিল্ড খালি থাকতে পারে না।
    • উদাহরণ:

      @RequiredFieldValidator(message = "Username is required.")
      private String username;
      
  2. @EmailValidator:
    • একটি বৈধ ইমেইল ঠিকানা চেক করে।
    • উদাহরণ:

      @EmailValidator(message = "Please enter a valid email address.")
      private String email;
      
  3. @RegexFieldValidator:
    • একটি কাস্টম রেগুলার এক্সপ্রেশন দিয়ে ভ্যালিডেশন করা।
    • উদাহরণ:

      @RegexFieldValidator(message = "Phone number must be in format (xxx) xxx-xxxx", regex = "\\(\\d{3}\\) \\d{3}-\\d{4}")
      private String phoneNumber;
      
  4. @StringLengthFieldValidator:
    • একটি ফিল্ডের দৈর্ঘ্য চেক করা।
    • উদাহরণ:

      @StringLengthFieldValidator(minLength = "6", maxLength = "12", message = "Password length must be between 6 and 12 characters.")
      private String password;
      

Struts 2 Validation Flow

  1. Input ফর্মের ডেটা: ব্যবহারকারী যখন ইনপুট ফর্মে ডেটা প্রদান করে, সেই ডেটা অ্যাকশন ক্লাসে পাঠানো হয়।
  2. ভ্যালিডেশন: Struts 2 ফ্রেমওয়ার্কে, Annotation ভিত্তিক ভ্যালিডেশন যাত্রা শুরু হয়। যেমন, @RequiredFieldValidator, @EmailValidator ইত্যাদি।
  3. ফলাফল: যদি কোনো ইনপুট ভুল থাকে (যেমন, password ফিল্ড খালি থাকে বা email ভুল থাকে), তাহলে অ্যাকশনটি ERROR রিটার্ন করবে এবং ফর্ম পুনরায় ব্যবহারকারীকে প্রদর্শন করা হবে।
  4. সফল ভ্যালিডেশন: যদি সমস্ত ভ্যালিডেশন সফল হয়, তবে অ্যাকশনটি SUCCESS রিটার্ন করবে এবং সংশ্লিষ্ট রেজাল্ট পেজ (যেমন, welcome.jsp) প্রদর্শিত হবে।

সারাংশ

Struts 2-এ Annotation ভিত্তিক Validation একটি আধুনিক এবং সহজ পদ্ধতি যা ফর্ম ডেটা ভ্যালিডেশন পরিচালনা করে। @RequiredFieldValidator, @EmailValidator, @StringLengthFieldValidator ইত্যাদি অ্যনোটেশন ব্যবহার করে আপনি অ্যাকশন ক্লাসে সরাসরি ভ্যালিডেশন যুক্ত করতে পারেন। এতে কোডের শুদ্ধতা এবং পাঠযোগ্যতা বৃদ্ধি পায় এবং XML কনফিগারেশন ফাইলের প্রয়োজনীয়তা কমে যায়।

Content added By
Promotion

Are you sure to start over?

Loading...