I have a form that has some fields that I want to validate using regularexpressionvalidator and requiredfieldvalidator. I dont want the form to submit if any of the validations fail. However I am having trouble with the RegularExpressionValidator if I put any values in there the form submits, even if a) it doent fit into the validation i put in
and b) the other required fields are not even filled in.
Can someone help me with this?
here is my code:

Code:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="JobInfo.aspx.vb" Inherits="AjaxUploader.JobInfo1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="AjaxToolkit" %>

<%@ Register assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI.WebControls" tagprefix="asp" %>

<!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">
<script language="javascript">
function FillHidPhone(){
    document.forms[0].hidPhone.value=document.forms[0].txtPhone1.value + document.forms[0].txtPhone2.value + document.forms[0].txtPhone3.value;
    //alert(document.forms[0].hidPhone.value);
}

</script>
    <title>Job Information</title>
 </head>
<body>
<form id="Form1" runat="server">
<asp:TextBox name="hidPhone" id="hidPhone" runat="server"/>
<table width="65%" border="0">
<tbody>
	<tr>
		<td>*Contact</div></td>
		<td><asp:TextBox ID="txtContact" runat="server" CssClass=""></asp:TextBox>
		<asp:RequiredFieldValidator ID="req1" runat="server" ControlToValidate="txtContact" ErrorMessage="Required" Display="Dynamic"></asp:RequiredFieldValidator></td>
	</tr>
	<tr>
		<td>*Phone</td>
		<td><asp:TextBox ID="txtPhone1" onChange ="FillHidPhone()" runat="server" CssClass="" MaxLength="3" Width="30"></asp:TextBox>
			-
			<asp:TextBox ID="txtPhone2" onChange ="FillHidPhone()" runat="server" CssClass="" MaxLength="3" Width="30"></asp:TextBox>
			-
			<asp:TextBox ID="txtPhone3" onChange ="FillHidPhone()" runat="server" CssClass="" MaxLength="4" Width="35"></asp:TextBox>
		 <asp:RequiredFieldValidator ID="Req2" runat="server" ControlToValidate="hidPhone" ErrorMessage="Required" Display="Dynamic"></asp:RequiredFieldValidator>
        <asp:RegularExpressionValidator ID="RegExp" runat="server" ControlToValidate="hidPhone" ErrorMessage="Incorrect format" ValidationExpression="^[0-9]*${10}" Display="Dynamic"></asp:RegularExpressionValidator>
   	            </td>
		<td>&nbsp;
		    </td>
   	</tr>
	<tr>
		<td>Mobile</td>
		<td><asp:TextBox ID="txtMobile1" runat="server" CssClass="" MaxLength="3" Width="30"></asp:TextBox>
			-
			<asp:TextBox ID="txtMobile2" runat="server" CssClass="" MaxLength="3" Width="30"></asp:TextBox>
			-
			<asp:TextBox ID="txtMobile3" runat="server" CssClass="" MaxLength="4" Width="35"></asp:TextBox></td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td>*Email Address</td>
		<td><asp:TextBox ID="txtEmail" runat="server" CssClass=""></asp:TextBox>
       	<asp:RequiredFieldValidator ID="Req3" runat="server" ControlToValidate="txtEmail" ErrorMessage="Required" Display="Dynamic"></asp:RequiredFieldValidator>
        <asp:RegularExpressionValidator ID="Reg2" runat="server" ControlToValidate="txtEmail" ErrorMessage="Incorrect format" ValidationExpression="\S+@\S+\.\S{2,3}" Display="Dynamic"></asp:RegularExpressionValidator>
       </td>
	</tr>
	<tr>
		<td>Mailing Address:</td>
		<td><asp:TextBox ID="txtAddress" runat="server" CssClass=""></asp:TextBox></td>
	</tr>
	<tr>
		<td>*Project / Property Name</td>
		<td><asp:TextBox ID="txtProject" runat="server" CssClass=""></asp:TextBox>
    	 <asp:RequiredFieldValidator ID="Req4" runat="server" ControlToValidate="txtProject" ErrorMessage="Required" Display="Dynamic"></asp:RequiredFieldValidator>
		</td>
	</tr>
	<tr>
		<td>*Number of Leases</td>
		<td><asp:TextBox ID="txtLeaseAmount" runat="server" CssClass="" MaxLength="3"></asp:TextBox>
    	 <asp:RequiredFieldValidator ID="Req5" runat="server" ControlToValidate="txtLeaseAmount" ErrorMessage="Required" Display="Dynamic"></asp:RequiredFieldValidator>
		</td>
	</tr>
	<tr>
		<td>*Deadline</td>
		<td><asp:Textbox id="txtDueDate" runat="server" ></asp:textbox>
    	 <asp:RequiredFieldValidator ID="Req6" runat="server" ControlToValidate="txtDueDate" ErrorMessage="Required" Display="Dynamic"></asp:RequiredFieldValidator>
        <AjaxToolkit:calendarextender id="CalExtender" runat="server" targetcontrolid="txtDueDate" Format="MM/dd/yyyy" enabled="true"></AjaxToolkit:calendarextender>
        </td>
	</tr>
	<tr>
	    <td><asp:Button Width="106" Height="26" ID="btnContinue" Text="Continue" runat="server"/></td>
	</tr>
	</tbody>
</table>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

</form>
<script language="javascript">
document.forms[0].hidPhone.style.visibility = "hidden";
</script>
</body>
</html>