Saturday, 2 January 2016
How to handle multiple submit Buttons with Validation on the same form MVC Razor
21:56
1 comment
Note: In this topic we will discuss how to handle multiple submit buttons
with types of validation required, regular expression, compare on same MVC razor
form.
/****** Sql Query
************************/
CREATE TABLE [dbo].[Employee](
[EmpId]
[varchar](50) NOT NULL,
[Name]
[varchar](50) NULL,
[Gender]
[varchar](50) NULL,
[EmailId]
[varchar](50) NOT NULL,
[Password]
[varchar](50) NULL,
CONSTRAINT [PK_Employee] PRIMARY
KEY CLUSTERED
(
[EmpId]
ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE
= OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[EmployeeInfo](
[EmpId]
[varchar](50) NOT NULL,
[Address]
[varchar](max) NULL,
[City]
[varchar](50) NULL,
[Country]
[varchar](50) NULL,
[MobileNo]
[varchar](50) NULL,
CONSTRAINT [PK_EmployeeInfo] PRIMARY
KEY CLUSTERED
(
[EmpId]
ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE
= OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[CityInfo](
[CityId]
[int] NOT NULL,
[CityName]
[varchar](50) NULL,
PRIMARY KEY CLUSTERED
(
[CityId]
ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE
= OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
We will
take Mvc Application
and add Controller
which name is CetpaController and
using this controller we
will add View which
name is Index
Code for Index.cshtml………………………
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$('#ddlcity').change(function (e)
{
var v = $('#ddlcity').find('option:selected').text();
$('#ddlcityText').val(v);
e.preventDefault();
});
});
</script>
<title>Index</title>
</head>
<body>
<div>
<fieldset>
@using (Html.BeginForm())
{
<table>
<tr>
<td>EmpId</td>
<td>
@Html.TextBox("txtempid")
@Html.ValidationMessage("txtempid", new { @style = "color:red" })
</td>
</tr>
<tr><td>Name</td><td>
@Html.TextBox("txtname")
@Html.ValidationMessage("txtname", new { @style = "color:red" })
</td></tr>
<tr><td>Gender</td><td>@Html.RadioButton("Gender", "Male") Male @Html.RadioButton("Gender", "Female")FeMale
@Html.ValidationMessage("Gender", new { @style = "color:red;margin-left:40px" })</td></tr>
<tr><td>Emailid</td><td>@Html.TextBox("txtemailid") @Html.ValidationMessage("txtemailid", new { @style = "color:red" })</td></tr>
<tr><td>Password</td><td>@Html.Password("txtpassword") @Html.ValidationMessage("txtpassword", new { @style = "color:red" })</td></tr>
<tr><td>Confirm Password</td><td>@Html.Password("txtcpassword") @Html.ValidationMessage("txtcpassword", new { @style = "color:red" })</td></tr>
<tr><td colspan="2"><input type="submit" value="First" name="btn" /></td></tr>
</table>
<table>
<tr>
<td>EmpId</td>
<td>
@Html.TextBox("txtempid1")
@Html.ValidationMessage("txtempid1", new { @style = "color:red" })
</td>
</tr>
<tr><td>Address</td><td>@Html.TextBox("txtaddress")@Html.ValidationMessage("txtaddress", new { @style = "color:red" })</td></tr>
<tr><td>City</td><td>@Html.DropDownList("ddlcity", "Select")
@Html.Hidden("ddlcityText") @Html.ValidationMessage("ddlcity", new { @style = "color:red" })</td></tr>
<tr><td>Country</td><td>@Html.DropDownList("ddlcountry", new[]
{
new SelectListItem { Text="Select", Value="Select" },
new SelectListItem { Text="India", Value="India"},
new SelectListItem { Text="England", Value="England" },
new SelectListItem { Text="USA", Value="USA"}
}) @Html.ValidationMessage("ddlcountry", new { @style = "color:red" })</td></tr>
<tr><td>Mobile No</td><td>@Html.TextBox("txtmobileno")@Html.ValidationMessage("txtmobileno", new { @style = "color:red" })</td></tr>
<tr><td colspan="2"><input type="submit" value="Second" name="btn" /></td></tr>
<tr><td colspan="2">@ViewBag.Message</td></tr>
</table>
}
</fieldset>
</div>
</body>
</html>
Code for CetpaController………………………
using System;
using
System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Text;
using
System.Web.Security;
using
System.Text.RegularExpressions;
using
ValidationConcept.Models;
namespace
ValidationConcept.Controllers
{
public class CetpaController : Controller
{
testEntities2 database = new testEntities2();
[HttpGet]
public ActionResult Index()
{
ViewBag.ddlcity = (from m in database.CityInfoes
select new SelectListItem { Text =
m.CityName, Value = m.CityId.ToString() }).ToList();
return View();
}
[HttpPost]
public ActionResult Index(FormCollection fc)
{
//
******************* this code for First
Button....................*********//
if (fc["btn"] == "First")
{
if (string.IsNullOrEmpty(fc["txtempid"]))
{
ModelState.AddModelError("txtempid", "Please
enter empid");
}
if (string.IsNullOrEmpty(fc["txtname"]))
{
ModelState.AddModelError("txtname", "Please enter
name");
}
if (string.IsNullOrEmpty(fc["txtemailid"]))
{
ModelState.AddModelError("txtemailid", "Please
enter emailid");
}
else if (!Regex.IsMatch(fc["txtemailid"].ToString(), @"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.IgnoreCase))
{
ModelState.AddModelError("txtemailid", "not
validation format");
}
if (string.IsNullOrEmpty(fc["txtpassword"]))
{
ModelState.AddModelError("txtpassword", "Please
enter password");
}
if (string.IsNullOrEmpty(fc["txtcpassword"]))
{
ModelState.AddModelError("txtcpassword", "Please
enter Confirm password");
}
else if (!Regex.Equals(fc["txtpassword"], fc["txtcpassword"]))
{
ModelState.AddModelError("txtcpassword", "do not
match password and confirm password");
}
if (string.IsNullOrEmpty(fc["Gender"]))
{
ModelState.AddModelError("Gender", "Please
select gender");
}
if
(ModelState.IsValid)
{
Employee emp = new Employee
{
EmpId=fc["txtempid"].ToString(),
Name = fc["txtname"].ToString(),
Gender = fc["Gender"].ToString(),
EmailId = fc["txtemailid"].ToString(),
Password = fc["txtpassword"].ToString()
};
database.Employees.Add(emp);
database.SaveChanges();
ViewBag.Message = "Saved
successfully in First Table";
}
}
//
******************* this code for Second
Button....................*********//
if (fc["btn"] == "Second")
{
// string aa =
fc["ddlcity"].ToString();
if (string.IsNullOrEmpty(fc["txtempid1"]))
{
ModelState.AddModelError("txtempid1", "Please
enter empid");
}
if (string.IsNullOrEmpty(fc["txtaddress"]))
{
ModelState.AddModelError("txtaddress", "Please
enter name");
}
if (fc["ddlcity"].ToString()== "")
{
ModelState.AddModelError("ddlcity", "Please
select city");
}
if (fc["ddlcountry"].ToString() == "Select")
{
ModelState.AddModelError("ddlcountry", "Please
select state");
}
if (string.IsNullOrEmpty(fc["txtmobileno"]))
{
ModelState.AddModelError("txtmobileno", "Please
enter mobile no");
}
else if (!Regex.IsMatch(fc["txtmobileno"].ToString(), "^[0-9]"))
{
ModelState.AddModelError("txtmobileno", "Please
enter only integer no");
}
if
(ModelState.IsValid)
{
EmployeeInfo empinfo = new EmployeeInfo
{
EmpId = fc["txtempid1"].ToString(),
Address = fc["txtaddress"].ToString(),
City = fc["ddlcityText"].ToString(),
Country = fc["ddlcountry"].ToString(),
MobileNo = fc["txtmobileno"].ToString()
};
database.EmployeeInfoes.Add(empinfo);
database.SaveChanges();
ViewBag.Message = "Saved
successfully in Second Table";
}
}
ViewBag.ddlcity = (from m in database.CityInfoes
select new SelectListItem { Text =
m.CityName, Value = m.CityId.ToString() }).ToList();
return View();
}
}
}
Result
Subscribe to:
Posts (Atom)