When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles [1.x] [2.0]
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips
Search

Sections:
Book Reviews
Sample Chapters
Commonly Asked Message Board Questions
Headlines from ASPWire.com
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
Web Hosts
XML Info
Information:
Advertise
Feedback
Author an Article
Technology Jobs

















internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
ASP ASP.NET ASP FAQs Message Board Feedback ASP Jobs
Print this page.

Windows Systems Administrator
Jupitermedia
US-CT-Darien

Justtechjobs.com Post A Job | Post A Resume

Published: Thursday, February 04, 1999

Dynamic Client-Side Scripting
By Abd Shomad


Cut and paste these code on your asp pages. I prefer to place the code on the *included file* named "jsClientUtils.inc"

- continued -

These snippets code write the Client Side JavaScript Validation for major input type validation using ASP.
e.g.: TextBox, Password, and Email Validation

Code snippets and descriptions:

Sub jsTextValidation(sName, sLabel, iMin, iMax, bRequired)
'----------------------------------------------------------------
' Purpose: Validate Text Box value.
' Inputs :
'    sName  : name of the input
'    sLabel : label to display, if label = "" then use sName instead
'    iMin, iMax: Minimum & Maximum characters allowed respectively
'    bRequired : True/False, is required value?
' Return : Write the Text Box Validation script to the client browser
'----------------------------------------------------------------

Sub jsPasswordValidation(sPassword1, sPassword2, iMin, iMax, bRequired)
'----------------------------------------------------------------
' Purpose: Validate Both Password field, usually used for new registration.
' Inputs :
'    sPassword1 : name of the first password input box
'    sPassword2 : name of the 2nd   password input box
'    iMin, iMax: Minimum & Maximum characters allowed respectively
'    bRequired : True/False, is required value?
'    usually, always TRUE
' Return : Write the Password Validation script to the client browser
'----------------------------------------------------------------

Sub jsEmailValidation(sName, sLabel, iMin, iMax, bRequired)
'----------------------------------------------------------------
' Purpose: Validate e-mail input, usually used for new registration.
' Inputs :
'    sName  : name of the input, usually: "email"
'    sLabel : label to display, if label = "" then use sName instead
'    iMin, iMax: Minimum & Maximum characters allowed respectively
'    bRequired : True/False, is required value?
'    usually, always TRUE
' Return : Write the e-mail Validation script to the client browser
'----------------------------------------------------------------

Here's the working example:

<%
'---------------------------------------------------------------------------
----
' Purpose:  Display a line of text (text & vbCRLF)
'---------------------------------------------------------------------------
----
Sub Display( Text )
  Response.Write(Text&vbCRLF)
End Sub

'---------------------------------------------------------------------------
----
' Purpose:  Write Beginning of script tag for Form Validator Script
'---------------------------------------------------------------------------
----
Sub jsFormValidationBegin
  Display "<script Language=""JavaScript"">"
  Display "<!--"
  Display ""
  Display "function Form_Validator(theForm)"
  Display "{"
  Display ""
End Sub

'----------------------------------------------------------------
' Purpose:  Write End of script tag for Form Validator Script
'----------------------------------------------------------------
Sub jsFormValidationEnd
  Display "  return (true);"
  Display ""
  Display "}"
  Display "//-->"
  Display "</script>"
End Sub

'----------------------------------------------------------------
' Purpose: Validate Text Box value.
' Inputs :
' sName  : name of the input
' sLabel : label to display, if label = "" then use sName instead
' iMin, iMax: Minimum & Maximum characters allowed respectively
'  bRequired : True/False, is required value?
' Return : Write the Text Box Validation script to the client browser
'----------------------------------------------------------------
Sub jsTextValidation(sName, sLabel, iMin, iMax, bRequired)
  Display "  // Validation script for field '"&sName&"' ("&sLabel&")"
  If bRequired Then
    Display "  if (theForm."&sName&".value == """")"
    Display "  {"
    Display "    alert(""Please enter a value for the \"""&sLabel&"\"" field."");"
    Display "    theForm."&sName&".focus();"
    Display "    return (false);"
    Display "  }"
    Display ""
  Else
    Display "  if (theForm."&sName&".value != """")"
    Display "  {"
    Display "  // if user type the value then Check the value"
  End If

  Display "  if (theForm."&sName&".value.length < "&iMin&")"
  Display "  {"
  Display "    alert(""Please enter at least "&iMin&" characters in the \"""&sLabel&"\"" field."");"
  Display "    theForm."&sName&".focus();"
  Display "    return (false);"
  Display "  }"
  Display ""
  Display "  if (theForm."&sName&".value.length > "&iMax&")"
  Display "  {"
  Display "    alert(""Please enter at most "&iMax&" characters in the \"""&sLabel&"\"" field."");"
  Display "    theForm."&sName&".focus();"
  Display "    return (false);"
  Display "  }"
  Display ""

  If not bRequired Then
    Display "  // End checking value"
    Display "  }"
    Display ""
  End If
End Sub

'----------------------------------------------------------------
' Purpose: Validate Both Password field, usually used for new registration.
' Inputs :
' sPassword1 : name of the first password input box
' sPassword2 : name of the 2nd   password input box
' iMin, iMax: Minimum & Maximum characters allowed respectively
'  bRequired : True/False, is required value?
'  usually, always TRUE
' Return : Write the Password Validation script to the client browser
'----------------------------------------------------------------
Sub jsPasswordValidation(sPassword1, sPassword2, iMin, iMax, bRequired)
  Display "  // Passsword field validation"

  jsTextValidation sPassword1, "Password", iMin, iMax, bRequired
  jsTextValidation sPassword2, "Verify Password", iMin, iMax, bRequired

  Display "  if (theForm."&sPassword1&".value != theForm."&sPassword2&".value)"
  Display "  {"
  Display "    alert(""Both \""Password\"" field must has the same value."");"
  Display "    theForm."&sPassword2&".value = """";"
  Display "    theForm."&sPassword2&".focus();"
  Display "    return (false);"
  Display "  }"
  Display ""
End Sub

'----------------------------------------------------------------
' Purpose: Validate e-mail input, usually used for new registration.
' Inputs :
' sName  : name of the input, usually: "email"
' sLabel : label to display, if label = "" then use sName instead
' iMin, iMax: Minimum & Maximum characters allowed respectively
'  bRequired : True/False, is required value?
'  usually, always TRUE
' Return : Write the e-mail Validation script to the client browser
'----------------------------------------------------------------
Sub jsEmailValidation(sName, sLabel, iMin, iMax, bRequired)
  Display "  // Email field validation"
  jsTextValidation sName, sLabel, iMin, iMax, bRequired
  
  If Not bRequired Then
    Display "  if (theForm."&sName&".value != """")"
    Display "  {"
    Display "  // if user type the value then Check the value"
  End If

  Display "  if (theForm."&sName&".value.indexOf(""@"",1) == -1)"
  Display "  {"
  Display "    alert(""Not a valid e-mail address."");"
  Display "    theForm."&sName&".focus();"
  Display "    return (false);"
  Display "  }"
  Display ""
  Display "  if (theForm."&sName&".value.indexOf(""."",theForm."&sName&".value.indexOf(""@"")+1) == -1)"
  Display "  {"
  Display "    alert(""Not a valid e-mail address."");"
  Display "    theForm."&sName&".focus();"
  Display "    return (false);"
  Display "  }"
  Display ""

  If not bRequired Then
    Display "  // End checking e-mail value"
    Display "  }"
    Display ""
  End If
End Sub
%>

Just copy and paste all the text to your asp pages.

<HTML>
<HEAD>
<%
jsFormValidationBegin
jsTextValidation "name", "Full Name", 3, 50, True
jsPasswordValidation "passw1", "passw2", 3, 20, True
jsEmailValidation "email", "E-mail", 3, 50, False
jsFormValidationEnd
%>
</HEAD>

<BODY>
<FORM ACTION="-- self --" METHOD="POST" onsubmit="return
Form_Validator(this)"
name="formRegistration">

Full Name: 
<INPUT TYPE="TEXT" NAME="name" SIZE=20 MAXLENGTH=50>
<SUP> *)
</SUP><BR>

Password : 
<INPUT TYPE="PASSWORD" NAME="passw1" SIZE=20 MAXLENGTH=20>
<SUP>
*) </SUP><BR>

Retype Password: 
<INPUT TYPE="PASSWORD" NAME="passw2" SIZE=20 MAXLENGTH=20>
<SUP> *) </SUP><BR>

Email : 
<INPUT TYPE="TEXT" NAME="email" SIZE=20 MAXLENGTH=50>
<BR>
<INPUT TYPE="SUBMIT" NAME="s" VALUE="  Submit  ">
<BR>
Note: *) is required field.
</FORM>

</BODY>
</HTML>


Windows Internet Technology | ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES