PDA

View Full Version : سوال: عمل نکردن Client Validation با استفاده از bool در مدل



IranVisual
پنج شنبه 20 تیر 1392, 12:12 عصر
خسته نباشید
تو یه فرم که از یک مدل ساده استفاده می کنم ، زمانی که از نوع bool استفاده می کنم Client Validation کار نمی کنه و صفحه Refresh می شه .

مدل :


[Required(ErrorMessage = "نام وارد نشده است .")]
public string Name { get; set; }
[Required(ErrorMessage = "نام خانوادگی وارد نشده است .")]
public string Family { get; set; }
[Required(ErrorMessage = "نام پدر وارد نشده است .")]
public string FatherName { get; set; }
public string SHSH { get; set; }
[Required(ErrorMessage = "کد ملی وارد نشده است .")]
public string NationalCode { get; set; }
//
public bool IsMarried { get; set; }


زمانی که از IsMarriedاستفاده می کنم این اتفاق می افته .

parvizwpf
پنج شنبه 20 تیر 1392, 16:20 عصر
.چیزی نفهمیدم دقیقا.منظور باید یک validation روی اون فیلد isMarried عمل کند؟ خب کجاست؟

IranVisual
پنج شنبه 20 تیر 1392, 17:01 عصر
زمانی که فیلد isMarried رو از مدل حذف می کنم اعتبار سنجی سمت کلاینت انجام میشه . ولی زمانی که فیلد IsMarried رو به مدل و View اضافه می کنم ابتدا فرم refresh میشه . یعنی سمت کلاینت دیگه اعتبار سنجی نمی شه .

parvizwpf
پنج شنبه 20 تیر 1392, 17:06 عصر
کد ویو و اکشن کنترلرت رو بزار. رفرش میشه یعنی توی همون صفحه میمونه؟

IranVisual
یک شنبه 23 تیر 1392, 15:39 عصر
کد Controller


[HttpGet]
public ActionResult New()
{
Tbl_Student_Item_Insert result = new Tbl_Student_Item_Insert();
//
result.BirthDateDay = (Assistant.Day()).ToString();
result.BirthDateMounth = Assistant.Mounth().ToString();
result.BirthDateYears = (Assistant.Years() - 15).ToString();
//
result.MarriedDateDay = (Assistant.Day()).ToString();
result.MarriedDateMounth = Assistant.Mounth().ToString();
result.MarriedDateYears = (Assistant.Years()).ToString();
//
result.YearSinup = (Assistant.Years()).ToString();
//
SetDropDownList(0, 0, 0, 0);
//
return View(result);
}

[HttpPost]
public ActionResult New(Tbl_Student_Item_Insert item, int grades, int rooms, int states, int citys)
{
SetDropDownList(citys, states, rooms, grades);
return View();
}


کد View



@model ModelLayer.Tables.Tbl_Student_Item_Insert
@{
ViewBag.Title = "ثبت جديد";
Layout = "~/Views/Shared/_Admin.cshtml";
}
<fieldset>
<legend> </legend>
@using (Html.BeginForm(actionName: "New", controllerName: "Student"))
{
<table style="width: 100%;">
<tr>
<td style="width: 50%; vertical-align: top;">
<dl class="dl-horizontal">
<dt>شماره پرونده :</dt>
<dd>
@Html.TextBoxFor(m => m.FileNumber, new { @class = "input-mini leftAlignTextBox" })
</dd>
<dt>نام :</dt>
<dd>
@Html.TextBoxFor(m => m.Name, new { @class = "input-medium" })
</dd>
<dt>نام خانوادگي :</dt>
<dd>
@Html.TextBoxFor(m => m.Family, new { @class = "input-medium" })
</dd>
<dt>نام پدر :</dt>
<dd>
@Html.TextBoxFor(m => m.FatherName, new { @class = "input-medium" })
</dd>
<dt>شماره شناسنامه :</dt>
<dd>
@Html.TextBoxFor(m => m.SHSH, new { @class = "input-small leftAlignTextBox" })
</dd>
<dt>کد ملي :</dt>
<dd>
@Html.TextBoxFor(m => m.NationalCode, new { @class = "input-small leftAlignTextBox" })
</dd>
<dt>تاريخ تولد :</dt>
<dd>
روز
@Html.TextBoxFor(m => m.BirthDateDay, new { @class = "DayTextBox" })
ماه
@Html.TextBoxFor(m => m.BirthDateMounth, new { @class = "MounthTextBox" })
سال
@Html.TextBoxFor(m => m.BirthDateYears, new { @class = "YearsTextBox" })
</dd>

<dt></dt>
<dd>
</dd>
<dt></dt>
<dd>
</dd>
</dl>
</td>
<td style="width: 50%; vertical-align: top;">
<dl class="dl-horizontal">
<dt>شماره زونکن :</dt>
<dd>
@Html.TextBoxFor(m => m.ZonCanTitle, new { @class = "input-mini leftAlignTextBox" })
</dd>
<dt>وضعيت تاهل :</dt>
<dd>
@Html.CheckBoxFor(m => m.IsMarried)
معيل است
<div style="height: 8px;">
</div>
</dd>
<dt>تاريخ ازدواج :</dt>
<dd>
روز
@Html.TextBoxFor(m => m.MarriedDateDay, new { @class = "DayTextBox" })
ماه
@Html.TextBoxFor(m => m.MarriedDateMounth, new { @class = "MounthTextBox" })
سال
@Html.TextBoxFor(m => m.MarriedDateYears, new { @class = "YearsTextBox" })
</dd>
<dt>پايه تحصيلي :</dt>
<dd>
@Html.DropDownList("grades", (SelectList)Html.ViewData["GradeCollection"], new { @class = "input-medium" })
</dd>
<dt>وضعيت حجره :</dt>
<dd>
@Html.DropDownList("rooms", (SelectList)Html.ViewData["RoomCollection"], new { @class = "input-medium" })
</dd>
<dt>استان :</dt>
<dd>
@Html.DropDownList("states", (SelectList)Html.ViewData["States"])
</dd>
<dt>شهر :</dt>
<dd>
@Html.DropDownList("citys", (SelectList)Html.ViewData["Citys"])
</dd>
<dt>سال ورود :</dt>
<dd>
@Html.TextBoxFor(m => m.YearSinup, new { @class = "YearsTextBox" })
</dd>
</dl>
</td>
</tr>
</table>
<div class="ErrorPanel">
@Html.ValidationSummary()
</div>
<div style="padding-right: 174px; padding-left: 80px;">
<hr style="margin: 5px 0;" />
<input type="submit" class="frm-button" value="ذخيره تغييرات" />
</div>
}
</fieldset>