Apache Tapestry একটি শক্তিশালী Validation Framework সরবরাহ করে, যা ফর্মের ইনপুট ডেটার বৈধতা যাচাই করতে সাহায্য করে। এটি ডেভেলপারদেরকে data validation সহজে এবং কার্যকরভাবে প্রয়োগ করতে সহায়তা করে। Tapestry-এর ভ্যালিডেশন ফ্রেমওয়ার্কটি অ্যানোটেশন-বেসড ভ্যালিডেশন, কাস্টম ভ্যালিডেশন রুলস, এবং ব্যবহারকারী বান্ধব ত্রুটি বার্তা সমর্থন করে।
এই ফ্রেমওয়ার্কটি server-side validation সম্পাদন করে, তবে আপনি ক্লায়েন্ট-সাইড ভ্যালিডেশনও প্রয়োগ করতে পারেন যদি চান। Tapestry-এর built-in ভ্যালিডেশন অ্যানোটেশনগুলি ডাটা ভ্যালিডেশন এবং ফিল্ডের মধ্যে সম্পর্ক সরল ও স্বচ্ছ করে।
Tapestry এর বিভিন্ন ভ্যালিডেশন অ্যানোটেশন রয়েছে, যা সহজেই প্রপার্টি বা ফিল্ডের জন্য ব্যবহার করা যেতে পারে।
@Required
@Required
অ্যানোটেশন ব্যবহার করা হয়, যা ইনপুট ফিল্ডটি অবশ্যই পূর্ণ করতে হবে।উদাহরণ:
@Property
@Required(message = "Username is required")
private String username;
@Length
@Length
অ্যানোটেশন ব্যবহার করে একটি স্ট্রিংয়ের জন্য মিনিমাম এবং ম্যাক্সিমাম দৈর্ঘ্য নির্ধারণ করা যায়।উদাহরণ:
@Property
@Length(min = 5, max = 20, message = "Username must be between 5 and 20 characters")
private String username;
@Email
অ্যানোটেশন ব্যবহার করা হয়, যা ফিল্ডের মান একটি বৈধ ইমেল ঠিকানা কিনা তা যাচাই করে।উদাহরণ:
@Property
@Email(message = "Please enter a valid email address")
private String email;
@Pattern
@Pattern
অ্যানোটেশন ব্যবহার করে আপনি একটি নির্দিষ্ট প্যাটার্নে ইনপুট ডেটা যাচাই করতে পারেন, যেমন নম্বর, ফোন নম্বর ইত্যাদি।উদাহরণ:
@Property
@Pattern(regexp = "\\d{10}", message = "Phone number must be 10 digits")
private String phoneNumber;
@Range
@Range
অ্যানোটেশন ব্যবহার করে সংখ্যার জন্য একটি নির্দিষ্ট সীমা নির্ধারণ করা যায়, যেমন একটি ইনপুটের মান অবশ্যই ১ থেকে ১০০ এর মধ্যে হতে হবে।উদাহরণ:
@Property
@Range(min = 1, max = 100, message = "Age must be between 1 and 100")
private int age;
Tapestry আপনাকে কাস্টম ভ্যালিডেশন তৈরি করার সুযোগ দেয়। আপনি একটি ভ্যালিডেশন ক্লাস তৈরি করতে পারেন এবং @Validate
অ্যানোটেশন ব্যবহার করে সেটি প্রোপার্টিতে প্রয়োগ করতে পারেন।
package com.example.validators;
import org.apache.tapestry5.validator.AbstractValidator;
import org.apache.tapestry5.validator.ValidationException;
public class CustomValidator extends AbstractValidator {
@Override
public void validate(Object value, String message, ValidationException exception) {
String input = (String) value;
if (input != null && input.length() < 5) {
exception.addValidationError(message); // Custom error message
}
}
}
@Property
@Validate(CustomValidator.class)
private String customField;
এখানে, যদি customField
এর মান ৫টি ক্যারেক্টারের চেয়ে ছোট হয়, তাহলে এটি একটি ত্রুটি তৈরি করবে।
Tapestry অটোমেটিকভাবে ফর্ম সাবমিশন এবং ভ্যালিডেশন চেকের পর ত্রুটি বার্তা দেখাবে। আপনি এটি কাস্টমাইজ করতে পারেন যাতে আরও স্পষ্ট বার্তা প্রদর্শিত হয়। সাধারণত, ফর্ম ভ্যালিডেশন ত্রুটির বার্তা <t:form>
এর মধ্যে প্রদর্শিত হয়।
উদাহরণ:
<t:form t:id="userForm">
<t:textfield t:id="username" value="username" />
<t:passwordfield t:id="password" value="password" />
<t:button value="Submit" t:id="submitButton"/>
<!-- Display validation error messages -->
<t:message t:id="errorMessage" for="username"/>
<t:message t:id="errorMessage" for="password"/>
</t:form>
এখানে:
<t:message>
ট্যাগটি নির্দিষ্ট ইনপুট ফিল্ডের জন্য ত্রুটি বার্তা প্রদর্শন করতে ব্যবহৃত হয়। for
অ্যাট্রিবিউটের মাধ্যমে আপনি যে ফিল্ডের জন্য ত্রুটি বার্তা দেখাতে চান তা নির্দিষ্ট করতে পারেন।Tapestry এর Validation Framework একটি শক্তিশালী এবং নমনীয় টুল, যা আপনাকে ফর্ম ডেটা যাচাই করতে সাহায্য করে। এতে বিভিন্ন বিল্ট-ইন ভ্যালিডেশন অ্যানোটেশন যেমন @Required, @Length, @Email, @Pattern, এবং @Range সহ কাস্টম ভ্যালিডেশন তৈরি করার সুবিধা রয়েছে। Tapestry ভ্যালিডেশন আপনাকে সহজে এবং কার্যকরভাবে ফর্ম ডেটার বৈধতা যাচাই করতে সহায়তা করে এবং ত্রুটি বার্তা দেখানোর প্রক্রিয়াকে সহজ করে তোলে।
Read more