Link to home
Create AccountLog in
Avatar of sana khan
sana khanFlag for India

asked on

Expiry of passport

Code is working fine but to display the error for 6 months expiry we have to fill all the fields in the form.
so is there any way to show error as soon as the user enter wrong date in field.
 
protected void btnSubmit_Click(object sender, EventArgs e)
    {
        // Calling function
        passportexpiry();
        passport1expiry();
        visaexpiry();

        //Insert into database
        if ((lblError.Text == "") && (lblError2.Text == "") && (lblError3.Text == ""))
        {
            string QueryString = "insert into VisaApp values('" + txtFirstName.Text + "','" + txtMiddleName.Text + "','" + txtLastName.Text + "','" + ddlCurrentNationality.Text + "','" + ddlPreviousNationality.Text + "','" + txtDateOfBirth.Text + "','" + txtPlaceOfBirth.Text + "','" + ddlCountryBirth.SelectedItem.Text + "','" + txtPassportNo.Text + "','" + txtPassportIssueDate.Text + "','" + txtPassportExpiryDate.Text + "','" + txtPassportPlaceofIssue.Text + "','" + ddlPassportCountryIssue.SelectedItem.Text + "','" + ddlCurrentVisaStatus.SelectedItem.Text + "','" + txtVisaExpiryDate.Text + "','" + txtFatherName.Text + "','" + txtMotherName.Text + "','" + ddlMaritalStatus.SelectedItem.Text + "','" + ddlReligion.SelectedValue + "','" + txtEducationalQualification.Text + "','" + txtLanguageSpoken.Text + "','" + txtPermanentNativeAddress.Text + "','" + txtPermanentNativeCity.Text + "','" + txtPermanentNativePOBox.Text + "','" + ddlPermanentCountry.SelectedItem.Text + "','" + txtSponsorName.Text + "','" + ddlSponsorRelationship.Text + "','" + ddlNationality.Text + "','" + txtPassportNumber.Text + "','" + txtPassportDateofIssue.Text + "','" + txtPassportDateofExpiry.Text + "','" + txtVisaFileNumber.Text + "','" + txtSponsorVisaExpiryDate.Text + "','" + txtPhoneNo.Text + "','" + txtAddress.Text + "','" + txtPoBox.Text + "','" + ddlEmirate.Text + "')";
            SqlConnection con = new SqlConnection(cs);
            SqlCommand cmd = new SqlCommand(QueryString, con);
            con.Open();
            cmd.ExecuteNonQuery();
            //Response.Write("Data Inserted");
            Response.Write("<script>alert('Form has been successfully Submtted')</script>");
            con.Close();
        }
    }


        // Validation for passport expiry(6 months)
    private void passportexpiry()
    {
        var value = DateTime.Now;
        // var val = DateTime.Parse(value);
        var val = DateTime.Parse(txtPassportExpiryDate.Text);

        var diffindays = val - value;

        if (diffindays.Days >= (6 * 31))
        {
            lblError.Text = "";
        }

        else
        {
            lblError.Text = "Must have atleast 6 months validity";
        }

    }

    // Validation for passport expiry(6 months)
    private void passport1expiry()
    {
        var value = DateTime.Now;
        // var val = DateTime.Parse(value);
        var val = DateTime.Parse(txtPassportDateofExpiry.Text);

        var diffindays = val - value;

        if (diffindays.Days >= (6 * 31))
        {        
            lblError2.Text = ""; 
        }

        else
        {         
            lblError2.Text = "Must have atleast 6 months validity";
        }
    }

    // Validation for visa expiry(6 months)
    private void visaexpiry()
    {
        var value = DateTime.Now;
        // var val = DateTime.Parse(value);
        var val = DateTime.Parse(txtSponsorVisaExpiryDate.Text);

        var diffindays = val - value;

        if (diffindays.Days >= (6 * 31))
        {
            lblError3.Text = "";
        }

        else
        {
            lblError3.Text = "Must have atleast 6 months validity";
        }
    }

Open in new window

Avatar of sana khan
sana khan
Flag of India image

ASKER

Like the one we are using in asp.net for a field that should enter only numbers for example as soon as we enter any letter in po box field it  gives error to enter only numbers exactly that way i want for passport expiry as soon as user enter the date less than  6 months it must give error that...you must have atleast 6 months validity......
Please help
Avatar of Pravin Asar
For date fields you could use datepicker. Which take care of validations of date values.
Look for datepicker example

https://jsfiddle.net/nkvpsumq/2/
I have tried using javascript also but not working in asp so i tried this way
Can anyone please help me for this
ASKER CERTIFIED SOLUTION
Avatar of Vishal Tankariya
Vishal Tankariya
Flag of India image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
It is working with bootstrap jquery.