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

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?
wasabi3689Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ryan ChongBusiness Systems Analyst , ex-Senior Application EngineerCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
JaaxArchitectCommented:
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
Mayank SAssociate Director - Product EngineeringCommented:
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.