مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

iran

عضویت از 1394/01/31

چک کردن نام کاربری در mvc

  • دوشنبه 28 اسفند 1396
  • 09:35
تشکر میکنم

سلام
فرض کنید می خواهیم اطلاعات یک کاربر را ثبت کنیم 
حال می خواهم هنگامی که نام کابری را وارد کردم قبل از انکه وارد textbox بعدی بشم سیستم چک کند که نام کاربری قبلا ثبت شده است یانه و اگر ثبت شده بود یک پیام بدهد
می دانم باید از JsonResult استفاده کنم  اما نمی دانم چگونه باید پیام تکراری بودن را نمایش بدهم
لطفا با یک نمونه توضیح بدهید
باتشکر

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • دوشنبه 28 اسفند 1396
  • 11:51

لینک زیر را بررسی کنید:

Implementing Remote Validation in MVC

کاربر سایت

mohammad-zarei62

عضویت از 1396/12/18

  • چهارشنبه 1 فروردین 1397
  • 19:55
<script type="text/javascript">
            $(document).ready(function () {
                $("#UserName").blur(function (event) {
                    var usernameCheck = document.getElementById('msg');
                    var username = document.getElementById('UserName').value;
                    var pUsername = /([a-zA-Z0-9_][^ ]{4,35})/g;
                    if (!pUsername.test(username)) {
                        usernameCheck
                            .innerText = 'نام کاربری می تواند بین 4 تا 35 کارکتر و شامل حروف انگلیسی ، اعداد و «_» باشد';
                    } else {
                        $.ajax({
                            type: "POST",
                            url: "/Admin/Users/IsUserAvailable",
                            data: "{'name': '" + $('#UserName').val().trim().toLowerCase() + "'}",
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            success: function (msg) {
                                $('#msg').html("<img src='ajaxImages/waiting.gif' alt='در حال بررسی ...'>");
                                var delay = function () {
                                    AjaxSucceeded(msg);
                                };

                                setTimeout(delay, 500); //remove this
                            },
                            error: AjaxFailed
                        });
                    }
                });
            });

            function AjaxSucceeded(result) {
                if (result)
                    $('#msg').html("<img src='ajaxImages/available.gif' alt='نام کاربری مورد نظر آزاد است'>");
                else
                    $('#msg').html("<img src='ajaxImages/taken.gif' alt='نام کاربری مورد نظر قبلا ذخیره شده است'>");
            }

            function AjaxFailed(result) {
                alert(result.status + ' ' + result.statusText);
            }
        </script>

برای کنترلر:

public JsonResult IsUserAvailable(string name)
        {
            if (db.Users.Where(n => n.UserName == name).Any())
            {
                return Json(false, JsonRequestBehavior.AllowGet);
            }
            else
            {
                return Json(true, JsonRequestBehavior.AllowGet);
            }
        }

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)