Hi Frnds
i created Reg Form With Validation..this is working fine also..
in this form i added one textbox at run time...if i will get a error on a form that time it is showing..
and after filling the data if i will submit this form so text box is showing then gone..
i want to know that y it is showing then gone..
Model///
public class Employee
{
//[Required(ErrorMessage = "Name is Required")]
[Required]
[Display(Name = "Name")]
//[RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Name should be accept Char only")]
[RegularExpression(@"^.{6,10}$", ErrorMessage = "Name should be of minimum 6 and maximum 10 characters")]
public string Name { get; set; }
[Required(ErrorMessage = "Email is Required")]
[Display(Name = "Email")]
[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" + @"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" + @".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$",
ErrorMessage = "Email is not valid")]
public string Email { get; set; }
[Required(ErrorMessage = "Password is Required")]
[Display(Name = "Password")]
[RegularExpression(@"^(?=.*\d)(?=.*[a-zA-Z]).{4,8}$", ErrorMessage = "Password Should be contain atleast 1 Upper, 1 Lower and 1 number")]
//Password Should be contain atleast 1 Upper, 1 Lower and 1 Special Character
public string Password { get; set; }
}
Controller///
public class EmployeeRegFormController : Controller
{
// GET: EmployeeRegForm
public ActionResult Index()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(Employee model)
{
if (ModelState.IsValid)
{
ViewBag.Name = model.Name;
ViewBag.Email = model.Email;
ViewBag.Password = model.Password;
}
if(model.Name == null)
{
ModelState.AddModelError("", "Details is incorrect!");
}
return View(model);
}
}
Index/view/
@if (ViewData.ModelState.IsValid)
{
if (@ViewBag.Name != null)
{
<b>
<span style="font-family: Verdana; font-size: 10pt;">
Name : @ViewBag.Name<br />
Email : @ViewBag.Email<br />
</span>
</b>
}
}
<br />
<br />
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div>
<fieldset>
<legend>Employee</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name, "", new { @Style = "color:red" })
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Email)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email, "", new { @Style = "color:red" })
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Password)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Password, new { maxlength = 20, value = ViewBag.Selpwd })
@Html.ValidationMessageFor(model => model.Password, "", new { @Style = "color:red" })
</div>
<p>
<input id="btnAdd" type="SUBMIT" value="Register" onclick="AddTextBox()" />
</p>
<div id="TextBoxContainer">
<!--Textboxes will be added here -->
</div>
</fieldset>
</div>
}
<script type="text/javascript">
function GetDynamicTextBox(value){
return '<input name = "DynamicTextBox" type="text" value = "' + value + '" />'
}
var count=0;
function AddTextBox()
{
if (count <= 1) {
var div = document.createElement('DIV');
div.innerHTML = GetDynamicTextBox("");
document.getElementById("TextBoxContainer").appendChild(div);
}
}
</script>