Solved

Date validation - no empty and null input allowed, How?

Posted on 2007-03-20
5
295 Views
Last Modified: 2008-02-01
I have the following JS

<script language = "Javascript">
......
function ValidateForm(){
      var dt=document.NetFlow.BegDate
        var dt2=document.NetFlow.EndDate
        var dt3= document.NetFlow.Num_Results
         
      if (isDate(dt.value)==false)
        {
            dt.focus()
            return false
         }
         else if (isDate(dt2.value)==false)
         {
                dt2.focus()
            return false
      }
       
       else if(dt3.value.match(/[^0-9]/))
        {
        alert("Invalid data format.\nOnly numbers are allowed.");
        dt3.focus()
        return false
        }
    return true
 }
 
 
 function ValidateIntlNumber(fld) {
     if (fld.value.match(/[^0-9]/)) {
     
          alert ('Only numbers are permitted');
          // Un comment the next line is you want to remove the non-numbers automatically
          fld.value=fld.value.replace(/[^0-9]/g,'');
     }
}
</script>

........

                    <label>Degree of Imbalence: <input name="DegImb" type="text" size="3" value="65" onkeyup="ValidateIntlNumber(this);"> ( enter as 50% )&nbsp; &nbsp; </label>
                    <label>Total Flows:<input name="TotalFlowImb" type="text" size="3" value="10" onkeyup="ValidateIntlNumber(this);" > ( enter as  )</label>
               
 <label># of Results: <input type="text" name="Num_Results" size="3" maxlength="3" value="25" onkeyup="ValidateIntlNumber(this);" ></label>
           
 <label>Date Range: <input type="text"  size="20" maxlength="30"  name= "BegDate" value="<%=y%>" > - <input type="text" size="20" maxlength="30" name="EndDate" value=<%=s%> > ( enter as mm/dd/yyyy)</label>
        </div>

.......

I have one question to improve my code
I don't want null value or empty value be stayed in the any fields above. That means user must input a valid data into the field, can not leave null, blank before he submits the form. How to do that?
0
Comment
Question by:wasabi3689
5 Comments
 
LVL 51

Accepted Solution

by:
Ryan Chong earned 25 total points
ID: 18762011
something like this..

function trim(s){
      return s.replace(/^\s*/,'').replace(/\s*$/, '');
}

function ValidateForm(){
      var dt=document.NetFlow.BegDate
        var dt2=document.NetFlow.EndDate
        var dt3= document.NetFlow.Num_Results
         
if (trim(dt.value) == "") {
    alert("Please enter a value");
    dt.focus();dt.select();
    return false;
}

      if (isDate(dt.value)==false)
        {
            dt.focus()
            return false
         }


if (trim(dt2.value) == "") {
    alert("Please enter a value");
    dt2.focus();dt2.select();
    return false;
}

         if (isDate(dt2.value)==false)
         {
                dt2.focus()
            return false
      }
       

if (trim(dt3.value) == "") {
    alert("Please enter a value");
    dt3.focus();dt3.select();
    return false;
}

       if(dt3.value.match(/[^0-9]/))
        {
        alert("Invalid data format.\nOnly numbers are allowed.");
        dt3.focus()
        return false
        }
    return true
 }
0
 
LVL 10

Assisted Solution

by:Jaax
Jaax earned 25 total points
ID: 18762100
Call the function check upon Submit

function fnCheck(){
  for(i=0; i<document.forms[0].elements.length; i++){
     ele = document.forms[0].elements[i];
       if(ele.type == "text"){
          rep = trim(ele.value);
          alert("Rep : "+rep+  "$$" );
          if(rep.length == 0){
            alert("Invalid Value : ");
            ele.focus();
          }
       }

  }

}

function trim(str){

  if(str.length > 0){
        while(str.charAt(0) == ' '){
           if(str.length >= 1){
               str = str.substring(1);
             }else{
               str = "";
             }
        }
  }

  if(str.length > 0){
        while(str.charAt(str.length-1) == ' '){
        if(str.length >= 1){
               str = str.substring(0, str.length);
             }else{
               str = "";
             }
        }
  }

  return str;

}
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 18774821
Is your server side Java? You can also use Struts validator framework. Or .NET validator controls in case of ASP .NET. However, to realize the advantage of distributed client-server processing, it might be better to do it at the client side itself using the code already provided.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Eclipse Java import and method not resolved 4 48
Html value of radio 14 28
Ouput in html in powershell 2 19
Copying table data to one another 15 29
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question