RichFaces এর Built-in Validators ব্যবহার

RichFaces এর Validation এবং Error Handling - রিচফেসেস (RichFaces) - Web Development

230

RichFaces একটি শক্তিশালী JavaServer Faces (JSF) ফ্রেমওয়ার্ক যা AJAX সমর্থিত UI কম্পোনেন্টগুলি সরবরাহ করে। এর মধ্যে built-in validators রয়েছে, যা আপনার ওয়েব ফর্মে ইনপুট ভ্যালিডেশন করতে সহায়ক। RichFaces এর ভ্যালিডেটরগুলি আপনাকে ইনপুট ডেটা যাচাই করতে, ব্যবহারকারীর ইনপুট সঠিক কিনা তা নিশ্চিত করতে এবং আরও অনেক কিছু করতে সহায়তা করে।

RichFaces এর Built-in Validators ব্যবহার

RichFaces এর বিল্ট-ইন ভ্যালিডেটরগুলি ব্যবহার করে আপনি ফর্মের বিভিন্ন ইনপুট ফিল্ডে সঠিক ডেটা যাচাই করতে পারেন। এই ভ্যালিডেটরগুলি ব্যবহার করতে, আপনি JSF validators এর সাথে RichFaces validators যোগ করতে পারেন, যেগুলি ইনপুট ফিল্ডে ডেটা ভ্যালিডেশন সরাসরি পরিচালনা করে।

1. RichFaces Built-in Validators

RichFaces-এ কিছু সাধারণ built-in validators রয়েছে যা ফর্ম ইনপুটের জন্য ব্যবহার করা যেতে পারে, যেমন:

  1. rich:inputText: এটি সাধারণ ইনপুট ফিল্ডের জন্য।
  2. rich:inputNumber: এটি সংখ্যা ইনপুট ফিল্ডের জন্য।
  3. rich:inputDate: এটি তারিখ ইনপুটের জন্য।
  4. rich:inputFile: এটি ফাইল ইনপুট ফিল্ডের জন্য।

এখানে কিছু ভ্যালিডেটর ব্যবহার করার উদাহরণ দেওয়া হল:


2. Example of Using RichFaces Validators

a. Input Text with Required Validator

এখানে rich:inputText এর জন্য একটি সিম্পল required ভ্যালিডেটর ব্যবহার করা হয়েছে।

<h:form>
    <rich:inputText value="#{bean.username}" required="true" 
                    requiredMessage="Username is required!" />
    <h:message for="username" />
    <h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>

Explanation:

  • required="true": এটি ইনপুট ফিল্ডটি অবশ্যই পূর্ণ করতে হবে এমন একটি ভ্যালিডেটর।
  • requiredMessage="Username is required!": ইনপুট ফিল্ডে কিছু না থাকলে এই মেসেজটি দেখাবে।
  • h:message: এটি ত্রুটি মেসেজ প্রদর্শন করার জন্য ব্যবহার করা হয়েছে।

b. Input Number with Range Validator

এখানে rich:inputNumber এর জন্য একটি range ভ্যালিডেটর ব্যবহার করা হয়েছে, যা ব্যবহারকারীর ইনপুট সীমা নির্ধারণ করে।

<h:form>
    <rich:inputNumber value="#{bean.age}" minValue="18" maxValue="100" required="true" />
    <h:message for="age" />
    <h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>

Explanation:

  • minValue="18" এবং maxValue="100": ব্যবহারকারী ১৮ থেকে ১০০ বছরের মধ্যে বয়স ইনপুট করতে পারবেন।
  • required="true": এটি নিশ্চিত করে যে ফিল্ডটি খালি থাকতে পারবে না।

c. Input Date with Date Validator

এখানে rich:inputDate ব্যবহার করা হয়েছে যাতে একটি নির্দিষ্ট তারিখের সীমা নির্ধারণ করা যায়।

<h:form>
    <rich:inputDate value="#{bean.selectedDate}" minValue="#{bean.minDate}" maxValue="#{bean.maxDate}" />
    <h:message for="selectedDate" />
    <h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>

Explanation:

  • minValue এবং maxValue: ব্যবহারকারীর জন্য একটি নির্দিষ্ট তারিখের সীমা সেট করা হয়েছে। এই ভ্যালিডেটরটি তারিখের ইনপুটের জন্য ব্যবহার করা হয়।
  • h:message: ত্রুটি মেসেজ প্রদর্শন করার জন্য।

d. File Input with File Validator

ফাইল ইনপুট ফিল্ডে শুধুমাত্র নির্দিষ্ট ফাইল টাইপ বা সাইজের ফাইল আপলোড করার জন্য আপনি file ভ্যালিডেটর ব্যবহার করতে পারেন।

<h:form>
    <rich:inputFile value="#{bean.uploadedFile}" required="true" 
                    fileUploadListener="#{bean.uploadListener}" 
                    accept="image/png,image/jpeg" />
    <h:message for="uploadedFile" />
    <h:commandButton value="Upload" action="#{bean.upload}" />
</h:form>

Explanation:

  • accept="image/png,image/jpeg": শুধুমাত্র PNG অথবা JPEG ফাইলগুলো আপলোড করার অনুমতি দিচ্ছে।
  • required="true": ফাইল ইনপুট ফিল্ডটি অবশ্যই পূর্ণ করতে হবে।
  • fileUploadListener: ফাইল আপলোডের জন্য একটি লিসনার।

3. Custom Validators in RichFaces

যদি আপনার নিজস্ব কাস্টম ভ্যালিডেটরের প্রয়োজন হয়, আপনি JSF এর কাস্টম ভ্যালিডেটর ব্যবহার করতে পারেন। এই কাস্টম ভ্যালিডেটরটি Managed Bean এ তৈরি করা হয় এবং JSF ফর্মে অ্যাপ্লাই করা হয়।

Example of Custom Validator in JSF:

  1. Custom Validator Class:
@FacesValidator("customValidator")
public class CustomValidator implements Validator {

    @Override
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
        String input = (String) value;
        
        if (input == null || input.length() < 5) {
            throw new ValidatorException(new FacesMessage("Input must be at least 5 characters long"));
        }
    }
}
  1. Using Custom Validator in JSF Page:
<h:form>
    <h:inputText value="#{bean.username}" validator="customValidator" />
    <h:message for="username" />
    <h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>

Explanation:

  • @FacesValidator: এখানে একটি কাস্টম ভ্যালিডেটর তৈরি করা হয়েছে যা একটি নির্দিষ্ট লেন্থের ইনপুট যাচাই করে।
  • validator="customValidator": JSF ফর্মে কাস্টম ভ্যালিডেটর ব্যবহার করা হয়েছে।

4. Validator Groups

আপনি একাধিক ভ্যালিডেটর গ্রুপ ব্যবহার করতে পারেন, যেখানে একাধিক ভ্যালিডেটর একসাথে ইনপুটের উপর প্রয়োগ করা হয়। এই বৈশিষ্ট্যটি JSF এবং RichFaces উভয়ই সমর্থন করে।

<h:form>
    <h:inputText value="#{bean.username}">
        <f:validator validatorId="customValidator" />
    </h:inputText>
    <h:message for="username" />
</h:form>

এখানে, customValidator সহ অন্যান্য ভ্যালিডেটর প্রয়োগ করা হয়েছে।


RichFaces এর built-in validators আপনাকে সহজেই ইনপুট ভ্যালিডেশন করতে সহায়তা করে। আপনি required, range, date, file ইনপুটসহ বিভিন্ন প্রকার ভ্যালিডেটর ব্যবহার করতে পারেন। এছাড়া, JSF এর কাস্টম ভ্যালিডেটর এবং AJAX সমর্থনসহ আপনার ওয়েব ফর্মের ইনপুট ভ্যালিডেশন আরও শক্তিশালী করতে পারবেন। RichFaces এর ভ্যালিডেটরগুলো ব্যবহার করে আপনি ব্যবহারকারীর ইনপুট সঠিকতা নিশ্চিত করতে পারেন এবং অ্যাপ্লিকেশনটির কার্যকারিতা উন্নত করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...