Q: All the RequiredFieldValidators are working when I make the btnSubmitCheckup_Click property empty. But if I put a simple code inside it, the validators are not working anymore and more, it will execute the simple code I placed inside the Click property of the button.
How will prevent the program from going forward if the required fields are blank? I've set the ControlToValidate and it works flawlessly when there is no code inside the btnSubmitCheckup_Click but if I try to put a code inside it, it will go forward and disregard the RequiredFieldValidator.
protected void btnSubmitCheckup_Click(object sender, EventArgs e)
{
Response.Write("asdasda"); ////will work even all other textboxes are empty but validators won't appear
//_con.Open();
//SqlCommand NewCheckup = new SqlCommand("dbo.NewCheckup", _con);
//NewCheckup.CommandType = CommandType.StoredProcedure;
//NewCheckup.Parameters.Add("@PatientID", SqlDbType.Int).Value = RadioButtonList_Patient.SelectedValue;
//NewCheckup.Parameters.Add("@DeptCode", SqlDbType.VarChar).Value = RadioButtonList_Department.SelectedValue;
//NewCheckup.Parameters.Add("@EmpID", SqlDbType.Int).Value = RadioButtonList_Employee.SelectedValue;
//NewCheckup.Parameters.Add("@CheckupDate", SqlDbType.Date).Value = BasicDatePicker1.SelectedDate;
//NewCheckup.Parameters.Add("@Diagnosis", SqlDbType.VarChar).Value = txtDiagnosis.Text;
//NewCheckup.ExecuteNonQuery();
//_con.Close();
//Response.Write("<script>Alert('Checkup Successfully recorded!')</script>");
}
This is my source
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="NewCheckup.aspx.cs" Inherits="Clinic_WebDev.NewCheckup" %>
<%@ Register assembly="BasicFrame.WebControls.BasicDatePicker" namespace="BasicFrame.WebControls" tagprefix="BDP" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Bargamed Clinic - New Checkup</title>
<style type="text/css">
.style1
{
width: 100%;
}
.style2
{
width: 136px;
}
.style3
{
width: 250px;
}
#TextArea1
{
height: 104px;
width: 272px;
}
</style>
</head>
<body>
<table class="auto-style1">
<tr>
<td>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/InsertProcedure.aspx">Insert Procedure</asp:HyperLink>
</td>
<td>
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="~/InsertPatient.aspx">Insert Patient</asp:HyperLink>
</td>
<td>
<asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="~/InsertEmployee.aspx">Insert Employee</asp:HyperLink>
</td>
<td>
<asp:HyperLink ID="HyperLink4" runat="server" NavigateUrl="~/InsertDepartment.aspx">Insert Department</asp:HyperLink>
</td>
<td>
<asp:HyperLink ID="HyperLink5" runat="server" NavigateUrl="~/NewCheckup.aspx">New Checkup</asp:HyperLink>
</td>
</tr>
</table>
<form id="form1" runat="server">
<table class="style1">
<tr>
<td align="right" bgcolor="#66FF66" class="style2">
Name of Patient</td>
<td bgcolor="#CCFFCC" class="style3">
<asp:TextBox ID="txtPatientName" runat="server" AutoPostBack="True"
TextMode="Search" Width="170px"></asp:TextBox>
</td>
<td bgcolor="#66FF66" style="margin-left: 80px">
Press Enter to search a patient
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server"
ControlToValidate="txtPatientName" ErrorMessage="Please search for a patient"
Font-Italic="True" Font-Names="Segoe UI" ForeColor="#666633"
EnableClientScript="False"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right" bgcolor="#66FF66" class="style2">
Patient</td>
<td bgcolor="#CCFFCC" class="style3">
<asp:RadioButtonList ID="RadioButtonList_Patient" runat="server"
AutoPostBack="True" DataSourceID="SqlDataSource3" DataTextField="PatientName"
DataValueField="PatientID">
</asp:RadioButtonList>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:CLINICConnectionString %>"
SelectCommand="SELECT PatientID, FirstName + ' ' + MiddleName + ' ' + LastName AS PatientName FROM PATIENT WHERE (FirstName + ' ' + MiddleName + ' ' + LastName LIKE '%' + @PatientName + '%')">
<SelectParameters>
<asp:ControlParameter ControlID="txtPatientName" Name="PatientName"
PropertyName="Text" />
</SelectParameters>
</asp:SqlDataSource>
</td>
<td bgcolor="#66FF66">
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="RadioButtonList_Patient"
ErrorMessage="Please select the patient" Font-Italic="True" Font-Names="Segoe UI"
ForeColor="#666633"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right" bgcolor="#66FF66" class="style2">
Department
</td>
<td bgcolor="#CCFFCC" class="style3">
<asp:RadioButtonList ID="RadioButtonList_Department" runat="server"
AutoPostBack="True" DataSourceID="SqlDataSource1" DataTextField="DeptName"
DataValueField="DeptCode"
onselectedindexchanged="RadioButtonList_Department_SelectedIndexChanged">
</asp:RadioButtonList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:CLINICConnectionString %>"
SelectCommand="SELECT DeptCode, DeptName, Status FROM DEPARTMENT">
</asp:SqlDataSource>
</td>
<td bgcolor="#66FF66">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="RadioButtonList_Department"
ErrorMessage="Please select the department" Font-Italic="True"
Font-Names="Segoe UI" ForeColor="#666633"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right" bgcolor="#66FF66" class="style2">
Employee</td>
<td bgcolor="#CCFFCC" class="style3">
<asp:RadioButtonList ID="RadioButtonList_Employee" runat="server"
DataSourceID="SqlDataSource2" DataTextField="EmpName" DataValueField="EmpID">
</asp:RadioButtonList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:CLINICConnectionString %>"
SelectCommand="SELECT EmpID, EmpName, EmpStatus, Contact FROM EMPLOYEE WHERE (EmpID IN (SELECT EmpID FROM EMPLOYEE_SPECIALIZATION WHERE (DeptCode LIKE @DeptCode)))">
<SelectParameters>
<asp:ControlParameter ControlID="RadioButtonList_Department"
DefaultValue="None" Name="DeptCode" PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
</td>
<td bgcolor="#66FF66">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="RadioButtonList_Employee"
ErrorMessage="Please select the employee" Font-Italic="True"
Font-Names="Segoe UI" ForeColor="#666633"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right" bgcolor="#66FF66" class="style2">
<asp:Label ID="Label1" runat="server" Text="Date of Checkup"></asp:Label>
</td>
<td bgcolor="#CCFFCC" class="style3">
<BDP:BasicDatePicker ID="BasicDatePicker1" runat="server" />
</td>
<td bgcolor="#66FF66">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="BasicDatePicker1"
ErrorMessage="Please select the date of checkup" Font-Italic="True"
Font-Names="Segoe UI" ForeColor="#666633"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right" bgcolor="#66FF66" class="style2">
<asp:Label ID="Label2" runat="server" Text="Diagnosis"></asp:Label>
</td>
<td bgcolor="#CCFFCC" class="style3">
<asp:TextBox ID="txtDiagnosis" runat="server" Height="67px"
TextMode="MultiLine" Width="247px"></asp:TextBox>
</td>
<td bgcolor="#66FF66">
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="txtDiagnosis" ErrorMessage="Please put the diagnosis"
Font-Italic="True" Font-Names="Segoe UI" ForeColor="#666633"
ValidationGroup="ValidationGroupDaw"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td bgcolor="#66FF66" class="style2">
</td>
<td align="center" bgcolor="#CCFFCC" class="style3">
<asp:Button ID="btnSubmitCheckup" runat="server"
onclick="btnSubmitCheckup_Click" PostBackUrl="~/NewCheckup.aspx"
Text="Submit Checkup" CausesValidation="False"
ValidationGroup="ValidationGroupDaw" />
</td>
<td bgcolor="#66FF66">
</td>
</tr>
<tr>
<td bgcolor="#66FF66" class="style2">
</td>
<td bgcolor="#CCFFCC" class="style3">
</td>
<td bgcolor="#66FF66">
</td>
</tr>
</table>
</form>
</body>
</html>
are you talking your button is not working with the validation? try change your CausesValidation to true, cheer :)
<td align="center" bgcolor="#CCFFCC" class="style3">
<asp:Button ID="btnSubmitCheckup" runat="server"
onclick="btnSubmitCheckup_Click" PostBackUrl="~/NewCheckup.aspx"
Text="Submit Checkup" CausesValidation="true"
ValidationGroup="ValidationGroupDaw" />
</td>