نمایش نتایج 1 تا 11 از 11

نام تاپیک: مشکل با Validate سمت کلاینت

  1. #1

    مشکل با Validate سمت کلاینت

    با سلام من تو یکی از صفحه هام قابلیت کامنت واسه مطلب هارو گذاشتم به این صورت که وقتی رو دکمه افزودن نظر کلیک میشه Div مربوط به کامنت باز میشه و من کامنتم رو میذارم .
    وقتی بصورت معمولی کامنت بذاری مشکل نداره ، مشکل از جایی هست که یکی از فیلد ها Valid نباشند .

    مشکلاتی که پیش میاد :
    1- فکر میکنم سمت کلاینت ولید نمیشه و میره سرور با اینکه من واسش DataAnnotations نوشتم .
    2- تمام فرم های روی صفحه با مقدار وارد شده پر میشن و همون خطا های اعتبار سنجی رو میده .


    کد View :



    @using (Html.BeginForm()
    {
    @Html.ValidationSummary(true)

    <a href="#@item.Id" class="@ur" >+ افزودن نظر</a>
    <div id="@item.Id" style="width: 250px;display:none;">

    <div style="font-size: 10px;">
    @Html.LabelFor(model => model.Name)
    </div>
    <div class="k-textbox" style="width: 150px;">
    @Html.EditorFor(model => model.Name)
    @Html.ValidationMessageFor(model => model.Name)

    </div>
    <div style="font-size: 10px;">
    @Html.LabelFor(model => model.Family)
    </div>
    <div class="k-textbox" style="width: 150px;">
    @Html.EditorFor(model => model.Family)

    </div>
    <div style="font-size: 10px;">
    @Html.LabelFor(model => model.Email)
    </div>
    <div class="k-textbox" style="width: 150px;">
    @Html.EditorFor(model => model.Email)
    @Html.ValidationMessageFor(model => model.Email)
    </div>

    <div style="font-size: 10px;">
    @Html.LabelFor(model => model.CmBody)
    </div>
    <div style="width: 150px;">
    @Html.TextAreaFor(model => model.CmBody, new { style = "width:600px;", @maxlength = "290" })
    @Html.ValidationMessageFor(model => model.CmBody)
    </div>

    <input type="hidden" name="Content_Fk" id="Content_Fk" value="@item.Id"/>
    <p>
    <input type="submit" class="k-button" value="ثبت" />
    </p>

    </div>

    if (TempData["Success"] != null)
    {
    <div>
    <p style="color:green;"><strong> @TempData["Success"].ToString()</strong></p>
    </div>
    }
    if (TempData["Fail"] != null)
    {
    <div>
    <p style="color:red;"><strong> @TempData["Fail"].ToString()</strong></p>
    </div>
    }
    <script>

    $(document).ready(function () {


    var flag = true;
    if(!flag)
    {
    $("#@item.Id").css("display", "block");
    }

    $(".@ur").click(function () {
    if (flag) {
    $("#@item.Id").css("display", "block");
    flag = false;
    }

    else {
    $("#@item.Id").css("display", "none");
    flag = true;
    }
    });

    });


    </script>

    }

    </div>


  2. #2

    نقل قول: مشکل با Validate سمت کلاینت

    اول اینکه باید ValidationFor رو برای همه ی فیلدهایی که میخواهید Valid بودنش بررسی بشه بزارید. این یکی نداره !
    @Html.EditorFor(model => model.Family)

    دوم اینکه Validation جادو جنبل که نمیکنه ! یک اسکریپت رو اجرا میکنه که باید در انتهای فرم به اون Reference داده باشید.

    مطمئن بشید در همین View این کد وجود داره :


    @section scripts
    {
    @Scripts.Render("~/bundles/jqueryval")
    }



    این جاواسکریپت به صورت Unobtrusive عمل میکنه و اگر لینکش در یک View باشه عملیات Validation عمل میکنه در غیر این صورت هیچی

  3. #3

    نقل قول: مشکل با Validate سمت کلاینت

    نقل قول نوشته شده توسط hakim22 مشاهده تاپیک
    اول اینکه باید ValidationFor رو برای همه ی فیلدهایی که میخواهید Valid بودنش بررسی بشه بزارید. این یکی نداره !
    @Html.EditorFor(model => model.Family)

    دوم اینکه Validation جادو جنبل که نمیکنه ! یک اسکریپت رو اجرا میکنه که باید در انتهای فرم به اون Reference داده باشید.

    مطمئن بشید در همین View این کد وجود داره :


    @section scripts
    {
    @Scripts.Render("~/bundles/jqueryval")
    }



    این جاواسکریپت به صورت Unobtrusive عمل میکنه و اگر لینکش در یک View باشه عملیات Validation عمل میکنه در غیر این صورت هیچی
    من از Kendo استفاده کردم که با MVC 3 کار میکنه و دستور



    @section scripts
    {
    @Scripts.Render("~/bundles/jqueryval")
    }




    رو نمیشناسه عزیز ، جادو جنبل نخواستم میره سمت سرور ولیدیشن انجام میشه اما میخوام بدونم حالا که bundle ندارم چطوری سمت کلاینت چک کنم ؟

  4. #4

    نقل قول: مشکل با Validate سمت کلاینت

    سلام.
    اگه MVC3 کار می کنید پس کدای زیر رو زیر خط لود کردن فایل jquery لود کنید.

    <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>

  5. #5

    نقل قول: مشکل با Validate سمت کلاینت

    نقل قول نوشته شده توسط younesdoost مشاهده تاپیک
    سلام.
    اگه MVC3 کار می کنید پس کدای زیر رو زیر خط لود کردن فایل jquery لود کنید.

    <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>

    خودش از DataAnnotation ها میخونه یا کار دیگه ای هم باید بکنم ؟

  6. #6

    نقل قول: مشکل با Validate سمت کلاینت

    نقل قول نوشته شده توسط SianiD مشاهده تاپیک
    خودش از DataAnnotation ها میخونه یا کار دیگه ای هم باید بکنم ؟
    نه.دیگه کار دیگه ای لازم نیست انجام بدید.DataAnnotation هاتون کار خودشون رو انجام میدن.مشکلی نیست انشا الله.

  7. #7

    نقل قول: مشکل با Validate سمت کلاینت

    ممنون حل شد ، فقط جسارتا یه سوال دیگه هم داشتم شما با Kendo کار کردید ؟

  8. #8

    نقل قول: مشکل با Validate سمت کلاینت

    نقل قول نوشته شده توسط SianiD مشاهده تاپیک
    ممنون حل شد ، فقط جسارتا یه سوال دیگه هم داشتم شما با Kendo کار کردید ؟
    خدا رو شکر.خواهش می کنم.نه متاسفانه من تا حالا با kendo کار نکردم.

  9. #9

    Thumbs down نقل قول: مشکل با Validate سمت کلاینت

    سلام
    منم همین مشکلو دارم البته تو mvc4.

    من تو _Layout.cshtml در انتها ، قبل تگ بسته body اینا رو گذاشتم :


    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryval")
    @RenderSection("scripts", required: false)


    ولی تو فایر باگ می بینم که این اسکریپت ها غیر فعالند .
    چیز دیگه ای باید بزارم؟

  10. #10

    نقل قول: مشکل با Validate سمت کلاینت

    سلام.اون چیزی که تو فایرباگ تو تب اسکریپت آخرش قبل از بسته شدن تگ Body می بینید رو به ما نشون بدید لطفا.

  11. #11

    نقل قول: مشکل با Validate سمت کلاینت

    خوب راستش من رو تب html رفتم . و اونجا دیدم این اسکریپن ها غیر فعالند . عکسشو می زارم . البته مشکلم حل شد.
    رفتم

    "~/Scripts/jquery-migrate-1.1.1.min.js"

    رو تو قسمت Bundle.Config اضافه کردم پروژه ام درست شد .



    bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
    "~/Scripts/jquery.unobtrusive*",
    "~/Scripts/jquery.validate*",
    "~/Scripts/jquery-migrate-1.1.1.min.js"));


تاپیک های مشابه

  1. بهتربن روش validate form سمت کلاینت
    نوشته شده توسط zatron در بخش jQuery
    پاسخ: 2
    آخرین پست: شنبه 05 اسفند 1391, 06:03 صبح
  2. سوال: مشکل در اجرای custom validation سمت client
    نوشته شده توسط adineh67 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: پنج شنبه 10 آذر 1390, 01:24 صبح
  3. ساختن صفحه با استفاده از اسکریپتهای سمت کلاینت
    نوشته شده توسط MSYNK در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: چهارشنبه 29 مهر 1383, 12:18 عصر
  4. اسکریپت سمت کلاینت textbox
    نوشته شده توسط مهدی فهمیده غلامی در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: یک شنبه 26 بهمن 1382, 11:13 صبح
  5. اسکریپت سمت کلاینت برای web controls
    نوشته شده توسط مهدی فهمیده غلامی در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: یک شنبه 26 بهمن 1382, 07:18 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •