سؤال

أستخدم البرنامج المساعد JQuery Validation للتحقق من صحة النموذج (http://docs.jquery.com/Plugins/Validation/)

على سبيل المثال، يمكنني التحقق من صحة رسالة بريد إلكتروني في نموذج.

ما أود فعله هو التحقق مما إذا كان اسم المستخدم المختار موجودًا بالفعل.لذلك، أحتاج إلى استدعاء أسلوب الخادم الذي يستعلم عن قاعدة البيانات.كيف أقوم بذلك ؟

تحديث

من إجابة balexandre، أحاول ما يلي:

$.validator.addMethod("userName", 
    function(value, element)
    {
        $.get
        (
            "CheckUser.aspx?User=" + value, 
            function(data) 
            {
                if (data == "True") 
                {
                    return false;
                }
                else if (data == "False") 
                {
                    return true;
                }
                else 
                {
                    alert(data);
                }
            }
        );
    },
    "User already exists");

    $(document).ready
    (
        function() 
        {
            $("#aspnetForm").validate
            (
                {
                    rules: 
                    {
                        <%=txtUserName.UniqueID %>: 
                        {
                            required: true,
                            email: true,
                            userName: true                        
                        }
                    }
                }
            );
        }
    );

في الرد، أكتب قيمة منطقية (صواب أو خطأ) بدلاً من 1 أو 0.

أعلم أن وظيفة التحقق الخاصة بي هي الاتصال.المشكلة هي أنه يظهر دائمًا رسالة الخطأ حتى في حالة عدم وجود المستخدم.أحاول وضع رسالة تنبيه قبل العودة الحقيقية لمعرفة ما إذا كانت تصل أم لا.لذلك لا أفهم لماذا لا يعمل ...

هل كانت مفيدة؟

المحلول

سهل جدًا وهو أسلوب رائع أطبقه كثيرًا على مشاريعي

1 - إنشاء صفحة aspx تسمى التحقق منUserAvailability.aspx مع ملف التعليمات البرمجية الخلفية

2 - حذف جميع الأسطر ما عدا الأول في ملف aspx

3 - في الملف الكودي الخلفي داخل ملف تحميل الصفحة حدث استدعاء قاعدة البيانات الخاصة بك مثل

protected void Page_Load(object sender, EventArgs e) {
    string username = Request["usr"];
    int r = 0;

    if(!String.IsNullOrEmpty(username))
        if( yourDAL.getUserAvailability(username) )
            // your method would send true if user is available to be used
            r = 1;

   Response.Clear();
   Response.Write(r);
   Response.Flush();
}

4 - الآن في صفحة النموذج الخاصة بك، قم بإنشاء زر مثل

<input id="btnCheckAvailability" type="button" 
       value="Check availability" 
       onclick="javascript:checkAvailability();" />

5 - إنشاء طريقة checkAvailability ().

<script type="text/language">

    function checkAvailability() {
        var $user = $("#UsernameInputBox");
        $.get("verifyUserAvailability.aspx?usr=" + $user.val(), function(data) {
            // this will call the page passing the username and return 1 or 0
            if( data == "1" ) 
                $user.css("background-color", "green");
            else 
                $user.css("background-color", "red");
        });
    }

</script>

نصائح أخرى

وهذا ينبغي أن تفعل خدعة ...

http://riderdesign.com /articles/Check-username-availability-with-JQuery-and-ASP.NET.aspx

OR ...

وجواب واحد يوضح كيفية استدعاء خدمة ويظهر الثاني كيفية استدعاء أسلوب الصفحة.

دعوة وسيلة جانب الملقم ASP.NET عبر مسج

scroll top