hello,I m using validation controls and on bitton click checking IsPage.Valid property but still get blank value or repeat value or auto generated values in data table.
here is the code attached. Please help me
HTML
<div class="container">
<div class="row centered-form">
<div class="col-xs-12 col-sm-8 col-md-4 col-sm-offset-2 col-md-offset-4">
<div class="panel panel-default " style="border: 2px solid rgb(222, 13, 13);">
<div class="panel-heading " style="background-color: rgb(222, 13, 13); color: white">
<h3 class="panel-title">
Please sign up <small>It's free!</small></h3>
</div>
<div class="panel-body">
<div role="form">
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<asp:TextBox ID="txtUserName" CssClass="form-control input-sm " runat="server" placeholder="First Name"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ValidationGroup="Group"
ForeColor="Red" ControlToValidate="txtUserName" Display="Dynamic" ErrorMessage="Enter Your First Name ">
</asp:RequiredFieldValidator>
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<asp:TextBox ID="txtMobile" CssClass="form-control input-sm" TextMode="Phone" runat="server"
placeholder="Your Mobile Number"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ValidationGroup="Group"
ForeColor="Red" ControlToValidate="txtMobile" Display="Dynamic" ErrorMessage="Enter Your Mobile Number ">
</asp:RequiredFieldValidator>
</div>
</div>
</div>
<div class="form-group">
<asp:TextBox ID="txtEmail" CssClass="form-control input-sm" TextMode="Email" runat="server"
placeholder="Your Email Address "></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ValidationGroup="Group"
ForeColor="Red" ControlToValidate="txtEmail" Display="Dynamic" ErrorMessage="Enter Your Email ">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Email must be in a proper Formate"
ValidationGroup="Group" ForeColor="Red" ControlToValidate="txtEmail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
</asp:RegularExpressionValidator>
</div>
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<asp:TextBox ID="txtPassword" CssClass="form-control input-sm" TextMode="Password"
placeholder="Enter Password Here" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ValidationGroup="Group"
ForeColor="Red" ControlToValidate="txtPassword" Display="Dynamic" ErrorMessage="Enter Password ">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ErrorMessage="Minimum 4 charecters Maximum 16 charecters"
ValidationGroup="Group" ForeColor="Red" ControlToValidate="txtPassword" ValidationExpression="^[\s\S]{4,16}$">
</asp:RegularExpressionValidator>
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<asp:TextBox ID="txtConfirmPassword" CssClass="form-control input-sm" TextMode="Password"
placeholder="Re-enter Password" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ValidationGroup="Group"
ForeColor="Red" ControlToValidate="txtConfirmPassword" Display="Dynamic" ErrorMessage="Enter Confirm Password ">
</asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="Password & Confirm Password Must be Equal"
ValidationGroup="Group" Display="Dynamic" ForeColor="Red" ControlToValidate="txtConfirmPassword"
ControlToCompare="txtPassword">
</asp:CompareValidator>
</div>
</div>
</div>
<div class="col=xs-12 col-sm-12 col-md-12 col-lg-12">
<asp:Label ID="lblMessage" runat="server"></asp:Label>
</div>
<br />
<asp:Button ID="btnRegister" runat="server" CssClass=" btn btn-block " Style="background-color: rgb(222, 13, 13);
color: white" Text="Register" OnClick="btnRegister_Click" />
</div>
</div>
</div>
</div>
</div>
</div>
Code
protected void btnRegister_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
// Read the connection string from web.config.
// ConfigurationManager class is in System.Configuration namespace
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
// SqlConnection is in System.Data.SqlClient namespace
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("spRegisterUser", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter username = new SqlParameter("@UserName", txtUserName.Text);
SqlParameter mobileNo = new SqlParameter("@MobileNo", txtMobile.Text);
SqlParameter email = new SqlParameter("@Email", txtEmail.Text);
// FormsAuthentication calss is in System.Web.Security namespace
string encryptedPassword = FormsAuthentication.
HashPasswordForStoringInConfigFile(txtPassword.Text, "SHA1");
SqlParameter password = new SqlParameter("@Password", encryptedPassword);
cmd.Parameters.Add(username);
cmd.Parameters.Add(mobileNo);
cmd.Parameters.Add(email);
cmd.Parameters.Add(password);
con.Open();
int ReturnCode = (int)cmd.ExecuteScalar();
if (ReturnCode == -1)
{
lblMessage.Text = "User Name already in use, please choose another user name";
lblMessage.ForeColor = System.Drawing.Color.Red;
}
else
{
Response.Redirect("~/Login.aspx");
}
}
}
}
SQL Table
Create table tblUser
(
[Id] int Primary Key Identity not null,
[UserName] nvarchar(100) not null,
[Mobile No] int not null,
[Email] nvarchar (100) not null,
[Password] nvarchar(max) not null
)
Stored Procedure
CREATE PROC [dbo].[spRegisterUser]
@UserName NVARCHAR(100),@MobileNo int,@Email NVARCHAR(100),@password nvarchar (max)
AS
BEGIN
DECLARE @Count INT
DECLARE @ReturnCode INT
SELECT @Count = COUNT(userName)FROM tblUser WHERE userName = @UserName
IF @Count > 0
BEGIN
SET @ReturnCode = - 1
END
ELSE
BEGIN
SET @ReturnCode = 1
INSERT INTO tblUser VALUES (@UserName,@MobileNo,@Email,@password)
END
SELECT @ReturnCode AS ReturnValue
END