Client and Server Side Form Validation

Validation क्या होता है?

Validation किसी भी web application का जरुरी भाग होता है । लगभग हर वेब एप्लीकेशन में हमें यूजर से डाटा इनपुट करवाना ही पड़ता है और अक्सर ऐसा होता है की जो डाटा यूजर द्वारा इनपुट किया गया है वो हमने सोचा न हो या उस डाटा को manage करने के लिए हमने वैसा कोड ही न लिखा हो|

मान लीजिये हमने अपने वेब एप्लीकेशन में यूजर की आयु इनपुट करवाना चाहते हैं जिसमे हम कोडिंग करते समय यही सोचेंगे की यूजर अपनी सही उम्र डालेगा| पर गलती से ऐसा भी तो सकता है यूजर ने ऋणात्मक मान (negative value) इनपुट कर दी हो, ऐसे में हमारा वेब एप्जलीकेशन उस तरीके से काम नहीं करेगा जैसा हमने बनाया होगा| इसलिए किसी भी web application में वेलिडेशन (Validation) लगाना बहुत जरुरी होता है|

Validation server side या client side पर किया जा सकता है| validation control निम्‍नलिखित चीजों को समाहित करता है|

  1. Implement Presentation Logic
  2. Validate user input data.
  3. Data format and data range.

Validation control की सहायता से यह निर्धारित किया जाता है कि user data को enter करते समय कोई गलती ना करें और यदि data input कराया जाऐं तो उस data को ठीक से जांचने के बाद ही input किया जाये।

Validation control 2 प्रकार के होते हैं

  1. Client Side Validation.
  2. Server Side Validation.

Client Side Validation

Client Side Validation में वेलिडेशन यूजर के वेब ब्राउज़र स्तर पर किया जाता है| जब client side validation निष्पादित (perform) होता है तो सभी user input validation, user के browser में स्‍वंय चल जाते है। Client side validation server में सर्वर की कार्यक्षमता की आवश्यकता नहीं होती है| इसलिए यह सर्वर साइड वेलिडेशन के मुकाबले ज्यादा तेज होता है, पर ऐसे कई वेलिडेशन होते हैं जहाँ पर client side validation का प्रयोग नहीं किया जा सकता है|


उदाहरण के लिए हम चाहते हैं की हमारे पूरे वेब एप्लीकेशन में यूजर नाम (username) अद्वितीय (unique) रहे, चूंकि user का डाटा सर्वर पर डेटाबेस में store होगा तो client side validation का इसमें प्रयोग नहीं किया जा सकता है|

Client side validation के लिये सामान्यतः जावा स्क्रिप्ट (JavaScript) VB Script और jQuery का प्रयोग किया जाता है।

Server Side Validation

Server Side Validation में user के द्वारा input को server पर भेजा जाता है। इसके लिये server side scripting language का प्रयोग किया जाता है like – ASP, PHP इत्यादी server side पर validation process के बाद feedback client को वापस कर दिया जाता है।

ASP .NET के अंतर्गत आने वाले server-side validations निम्‍नलिखित है –

  1. Required field validation
  2. Compare validation
  3. Range validation
  4. Regular expression validation
  5. Custom validation
  6. Validation Summery

1. Required field validation

Required field validation के द्वारा यह निर्धारित किया जाता है कि user के द्वारा किसी field में data input किया गया है या नही। इस का मतलब यह control यह specify करता है कि user के द्वारा form को submit करने से पहले field में value enter की गयी हो। इस validation control का प्रयोग ज्यादातर textbox के साथ किया जाता है। इस control की कई properties होती है जो निम्‍न है –

SNPropertyDescription
1ControlToValidateSpecifies the ID of the control that you want to validation.
2TextSets the error message display by the control.
3DisplaySets how the error message content in the text property is displayed, possible values are static dynamic and none the default value is static.
4Enable Client ScriptEnable and visible client side from validation. This property has the value true by default.
5Error MessageSpecify the error message that is displayed in the validation summary control this error message is displayed by the validation control when the text property is not set.
6InitialvalueGets or sets the initial value of the control specified by the control to validate property.

2. Compare Validation

Compare validation control की सहायता से form की किसी field में input की गयी data value किसी और value से तुलना (comparison) की जाती है| दूसरे शब्दों में अगर कहे तो हम कह सकते हैं कि compare validation control का प्रयोग हम तब करते है जब हमें field के अंदर input किया जाने वाला data दूसरी field में input किया जाने वाला data से match कराना हो कि वह value equal या less then equal है या is not equal है।


उदाहरण के लिए जैसे आपने देखा होगा की ऑनलाइन रजिस्ट्रेशन फॉर्म में दो बार पासवर्ड डालना पड़ता है, ऐसा इसलिए जिससे आपने पासवर्ड सही डाला है इसकी जांच की जा सके, ऐसा करने के लिए दोनों पासवर्ड फील्ड को बराबर के लिए check किया जाता है|

इसकी property निम्‍नलिखित है

SNPropertyDescription
1ControlToValidateSpecifies the ID of the control that you want to validation.
2TextSets the error message display by the control.
3DisplaySets how the error message content in the text property is displayed, possible values are static dynamic and none the default value is static.
4Enable Client ScriptEnable and visible client side from validation. This property has the value true by default.
5Error MessageSpecify the error message that is displayed in the validation summary control this error message is displayed by the validation control when the text property is not set.
6IsvalidHas the value true when the validation check succeeded and false other.
7TypeGets and sets the data type to use when comparing values, possible values are currency, date double integer and string.
8Control to CompareSpecifies the ID of the control to use for comparing values.
9OperatorGets and sets the comparison operator to use performing comparison possible values are equal not equal greater than greater than, less than equal data type.
10Value To CompareSpecifies the value use when performing the comparison.

3. Range Validator

Range Validator control की सहायता से किसी form field की value को किसी न्यूनतम और अधिकतम संख्या के बीच है की नहीं इसकी जांच की जाती है। यह value date, number crunency, amount या string हो सकती है।

अर्थात Range Validation Control का प्रयोग तब किया जाता है तो जब हमें application में जो value input की जा रही है उसकी जांच करनी है की वो value minimum value से कम न हो और maximum value से ज्‍यादा न हो। इसके लिये हम इस validation का use करते है। इसकी property निम्‍नलिखित है।

SNPropertyDescription
1ControlToValidateSpecifies the ID of the control that you want to validation.
2TextSets the error message display by the control.
3DisplaySets how the error message content in the text property is displayed, possible values are static dynamic and none the default value is static.
4Enable Client ScriptEnable and visible client side from validation. This property has the value true by default.
5Error MessageSpecify the error message that is displayed in the validation summary control this error message is displayed by the validation control when the text property is not set.
6IsvalidHas the value true when the validation check succeeded and false other.
7Minimum ValueSpecifies the minimum value in the range of values.
8Maximum ValueSpecifies the maximum value in the range of permissible values.
9TypeGets and sets the data type to use when comparing values. Possible values are currency, date double, integer & string.
10ValidatePerform Validation and update the isvalid property.

4. Regular Expression Validator

Regular expression validator की सहायता से हम regular expression के field के अंदर प्रविष्ट की जाने वाली value को match किया जाता है। इसकी सहायता से हम user के द्वारा enter की जाने वाली value को check करते है। उदाहरण के लिए जो ईमेल एड्रेस यूजर कर द्वारा इनपुट किया गया है वह सही है की नहीं, या टेलीफोन नंबर या पासवर्ड इत्यादि|

दूसरे शब्दों में हम यह कह सकते है कि जब user regular expression validation का use करता है तो user के द्वारा input किये जाने वाले field में email इत्यादि की जांच आसानी से की जा सकती है|

उदाहरण के लिए अगर हमें ईमेल की जांच करनी है regular expression की सहायता से तो हम निम्नलिखित expression का प्रयोग करेंगे

"^[a-zA-Z0-9+_.-][email protected][a-zA-Z0-9.-]+$"

Regular expression validator की मुख्य properties निम्‍नलिखित है

SNPropertyDescription
1ControlToValidateSpecifies the ID of the control that you want to validation.
2TextSets the error message display by the control.
3DisplaySets how the error message content in the text property is displayed, possible values are static dynamic and none the default value is static.
4Enable Client ScriptEnable and visible client side from validation. This property has the value true by default.
5Error MessageSpecify the error message that is displayed in the validation summary control this error message is displayed by the validation control when the text property is not set.
6IsvalidHas the value true when the validation check succeeded and false other.
7ValidatePerform validation and update the Invalid property.
8Validation ExpressionSpecifies the regular expression to use when performing validation.

5. Custom Validator

Custom validation एक ऐसा validator होता है जिसे user अपनी आवश्यकता के अनुसार बनाता है। इसका मतलब validation में कोई भी पूर्वनिर्धारित सुविधा नहीं होती है| User अपनी आवश्‍यकतानुसार इस validation का प्रयोग करके data को validate कर सकता है। इस का मतलब अपने अनुसार किसी भी retype का validation control बना सकता है। Custom validation की मुख्य 3 properties होती है जो निम्‍नलिखित है

SNPropertyDescription
1ControlToValidateSpecifies the ID of the control that you want to validation.
2TextSets the error message didplay by the control.
3ClientValidationfunctionThe name of the client-side function use to perform client side validation.

CustomValidator एक event support करता है

  1. Server Validate – This event is raised when the custom validation perform validation.

6. Validation Summary

Validation summary control के प्रयोग से हम page में प्रयोग किये गए सभी validation error की एक list प्रदर्शित करा सकते है। यह control बड़े फॉर्म के साथ काम करने में उपयोगी होते है। यदि एक user page के आखिरी में available field में गलत value को enter करता है तो error message user को कभी नही दिखाई देता। यदि हमारे द्वारा validation summary control का प्रयोग किया जाता है फिर हम form के top पर error की list को प्रदर्शित करा सकते है। यहाँ ध्‍यान देने योग्‍य बात यह होती है कि प्रत्‍येक validation control error message property को include करता है। हम validation error message दिखाने के लिये error message property की जगह text property का प्रयोग करते है।

Error message और text property में अंतर यह है कि error message property में message validation summary control में दिखाई देता है। जबकि text property में किया गया message page की body पर दिखाई देता है। Normally हम error message text property के साथ show करते है। इसकी property निम्‍नलिखित हैं –

SNPropertyDescription
1Display Modeenables you to specify how the error message are formatted. Possible values are – bullet list, list and symbol paragraph.
2Header textenables you to display header, header text above the validation summary.
3Show Message BoxEnables you to display a pop-up alert box.
error: Content is protected !!