PDA

View Full Version : سوال: ایجاد Validation



hastiam
یک شنبه 07 اسفند 1390, 19:11 عصر
سلام
من یک سری validation روی فیلدهای مورد نیاز تعریف کردم می خوام وقتی error داد ErrorMessage رو نشون بده اما این کار رو نمیکنه.:ناراحت:
مثلا یکی از ذستوراتی که نوشتم به صورت زیر است :


[Required(ErrorMessage=" لطفا نام را وارد کنید")]
public string Name { get; set; }

تو UI هم به صورت زیر نوشتم:


<div >@Html.EditorFor(g => g.Name)</div>
@Html.ValidationMessageFor(model => model.Name)

فایل های js ای هم که لازم بود اضافه کردم. اما متن پیغام رو نشون نمیده که کاربر متوجه بشه کجا مشکل داره.
دوستان اگه کسی میدونه، کمکم کنه که چطوری من از این validationها استفاده کنم.

amir-yeketaz
یک شنبه 07 اسفند 1390, 21:52 عصر
تا اینجایی که دادین که کدتون درسته! ... اگه کد مربوطه رو کلا بدین شاید بشه جوابو داد! ... ولی معمولا برای Client Validation حتما قبلش این اسکریپت ها رو اضافه کنین:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

و این قسمت وب کانفیگ رو هم به این صورت :

<appSettings> <addkey="webpages:Version"value="1.0.0.0" /> <addkey="ClientValidationEnabled"value="true" /> <addkey="UnobtrusiveJavaScriptEnabled"value="true" /> </appSettings>

موفق باشید ...

hastiam
سه شنبه 09 اسفند 1390, 10:40 صبح
بعد از یک روز کامل فکر کردن فهمیدم که وقتی اطلاعات یک فرم رو به صورت ajax ای ثبت کنیم باید به صورت ajaxای هم بهش بگیم که اگر isvalid نبود اطلاعات رو ثبت نکن و پیغام بده.:تشویق::تشویق:
یعنی به جز مراحلی که بالا نوشتم باید تابع جاوااسکریپت رو هم به صورت زیر بنویسیم:


if (!$("form#ajaxForm").valid())
return;
$.ajax({
////////////////////دستورات لازم برای insert
});

من برای ثبت داده هام در chtml به صورت زیر عمل کردم :


@using (Ajax.BeginForm("Insert", new { id = Model.ID }, ajaxOptions, new {id="ajaxForm"}))
{
@Html.EditorForModel()
}


امیدوارم تجربه من برای شما هم مفید باشه.