JSF (JavaServer Faces) ফ্রেমওয়ার্কে বিল্ট-ইন ভ্যালিডেটর প্রদান করা হয়, যা ব্যবহারকারীর ইনপুট ডেটা যাচাই করার জন্য সহজ এবং কার্যকর পদ্ধতি সরবরাহ করে। JSF এর বিল্ট-ইন ভ্যালিডেটরগুলো ব্যবহার করে আপনি ইনপুট ফিল্ডে বিভিন্ন শর্তাবলী প্রয়োগ করতে পারেন, যেমন ইনপুটের দৈর্ঘ্য (Length), প্যাটার্ন (Pattern), এবং অবশ্যই প্রয়োজনীয় (Required)।
Built-in Validators in JSF
JSF এর বিল্ট-ইন ভ্যালিডেটর গুলি হল:
- LengthValidator: ইনপুটের দৈর্ঘ্য যাচাই করে।
- PatternValidator: ইনপুটের প্যাটার্ন বা ফর্ম্যাট যাচাই করে।
- RequiredValidator: ইনপুটের মানের উপস্থিতি যাচাই করে (অর্থাৎ এটি ফাঁকা হতে পারবে না)।
১. Length Validator (দৈর্ঘ্য যাচাই)
Length Validator ব্যবহার করে আপনি ইনপুটের দৈর্ঘ্য যাচাই করতে পারেন, অর্থাৎ ইউজার যে ইনপুটটি দেয়, তার সর্বনিম্ন বা সর্বোচ্চ দৈর্ঘ্য কতো হতে হবে তা নির্ধারণ করতে পারবেন।
উদাহরণ: Length Validator ব্যবহার
<h:form>
<h:outputLabel for="username" value="Username:" />
<h:inputText id="username" value="#{userBean.username}">
<f:validateLength minimum="5" maximum="15" />
</h:inputText>
<h:message for="username" />
</h:form>
এখানে:
<f:validateLength>: এটি ইনপুটের জন্য একটি দৈর্ঘ্য যাচাইকারী ভ্যালিডেটর। এখানেminimum="5"এবংmaximum="15"এর মানে হল যে ইউজার ইনপুটটি ৫ থেকে ১৫ ক্যারেক্টারের মধ্যে হতে হবে।<h:message>: ইউজারের ভুল ইনপুটের জন্য একটি ত্রুটি বার্তা দেখাবে।
Managed Bean উদাহরণ:
@ManagedBean
@SessionScoped
public class UserBean {
private String username;
// Getter and Setter
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
২. Pattern Validator (প্যাটার্ন যাচাই)
Pattern Validator ব্যবহার করে আপনি ইনপুটের মানের জন্য একটি নির্দিষ্ট প্যাটার্ন বা ফর্ম্যাট যাচাই করতে পারেন, যেমন ইমেইল অ্যাড্রেস, ফোন নম্বর ইত্যাদি।
উদাহরণ: Pattern Validator ব্যবহার
<h:form>
<h:outputLabel for="email" value="Email:" />
<h:inputText id="email" value="#{userBean.email}">
<f:validatePattern pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" />
</h:inputText>
<h:message for="email" />
</h:form>
এখানে:
<f:validatePattern>: এটি ইনপুটের মানের জন্য একটি নির্দিষ্ট প্যাটার্ন যাচাই করার জন্য ব্যবহৃত হয়। এখানে আমরা একটি ইমেইল প্যাটার্ন দিয়েছি যা ইমেইল ঠিকানা যাচাই করবে।pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$": এটি একটি সাধারণ রেগুলার এক্সপ্রেশন যা ইমেইল ফর্ম্যাট যাচাই করবে।
Managed Bean উদাহরণ:
@ManagedBean
@SessionScoped
public class UserBean {
private String email;
// Getter and Setter
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
৩. Required Validator (অবশ্যই প্রয়োজন)
Required Validator ব্যবহার করে আপনি ইনপুট ফিল্ডটি খালি থাকতে পারবেন না, এটি নিশ্চিত করতে পারেন। এটি সাধারণত ইনপুট ফিল্ডে একটি মান প্রদান করা বাধ্যতামূলক করতে ব্যবহৃত হয়।
উদাহরণ: Required Validator ব্যবহার
<h:form>
<h:outputLabel for="name" value="Name:" />
<h:inputText id="name" value="#{userBean.name}">
<f:validateRequired />
</h:inputText>
<h:message for="name" />
</h:form>
এখানে:
<f:validateRequired>: এটি নিশ্চিত করে যে ইনপুট ফিল্ডটি খালি থাকবে না, অর্থাৎ ইউজারকে একটি মান প্রদান করতে হবে।<h:message>: ভুল ইনপুটের জন্য ত্রুটি বার্তা দেখানো হবে।
Managed Bean উদাহরণ:
@ManagedBean
@SessionScoped
public class UserBean {
private String name;
// Getter and Setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
একসাথে বিভিন্ন ভ্যালিডেটর ব্যবহার করা
একাধিক ভ্যালিডেটর একসাথে ব্যবহার করে আপনি আরও কঠোর শর্তে ইনপুট যাচাই করতে পারেন। নিচে একসাথে Length, Pattern, এবং Required ভ্যালিডেটর ব্যবহার করার উদাহরণ দেয়া হলো।
উদাহরণ: একাধিক ভ্যালিডেটর ব্যবহার
<h:form>
<h:outputLabel for="phone" value="Phone Number:" />
<h:inputText id="phone" value="#{userBean.phone}">
<f:validateRequired />
<f:validateLength minimum="10" maximum="15" />
<f:validatePattern pattern="^[0-9]{10,15}$" />
</h:inputText>
<h:message for="phone" />
</h:form>
এখানে:
<f:validateRequired>: ফোন নাম্বারটি অবশ্যই প্রদান করতে হবে।<f:validateLength>: ফোন নাম্বারের দৈর্ঘ্য ১০ থেকে ১৫ ক্যারেক্টারের মধ্যে হতে হবে।<f:validatePattern>: ফোন নাম্বার শুধুমাত্র ডিজিট (0-9) থাকতে হবে এবং সঠিক দৈর্ঘ্য হতে হবে।
সারাংশ
JSF এর বিল্ট-ইন ভ্যালিডেটরগুলি (Length, Pattern, Required) আপনাকে ইনপুট ফিল্ডে ডেটা যাচাই করার একটি সহজ এবং কার্যকর পদ্ধতি প্রদান করে। এই ভ্যালিডেটরগুলির মাধ্যমে আপনি ব্যবহারকারীর ইনপুটের মান যাচাই করে অ্যাপ্লিকেশনে ডেটা সঠিকতা এবং নিরাপত্তা নিশ্চিত করতে পারেন। JSF তে এই ভ্যালিডেটর ব্যবহার করে আপনি সহজেই ওয়েব ফর্মগুলোতে ভ্যালিডেশন ইমপ্লিমেন্ট করতে পারেন, যা ইউজারের ভুল ইনপুট থেকে অ্যাপ্লিকেশনকে রক্ষা করে।
Read more