ما هي الطريقة المناسبة للقيام متعددة المعلمة اياكس التحقق من صحة النموذج مع مسج ASP.NET MVC?

StackOverflow https://stackoverflow.com/questions/1615144

سؤال

لدي نموذج التسجيل على موقع على شبكة الانترنت التي تحتاج إلى التحقق إذا كان عنوان البريد الإلكتروني موجود بالفعل معين معرف الشركة.عندما يقوم المستخدم علامات التبويب أو النقرات من حقل البريد الإلكتروني (طمس الحدث) ، أريد مسج للذهاب والقيام طلب اياكس حتى أتمكن ثم تحذير المستخدم فإنها تحتاج إلى اختيار عنوان آخر.

في وحدة تحكم علي طريقة مثل هذا:

public JsonResult IsEmailValid(int companyId, string customerNumber)
{            
  return Json(...);
}

لجعل هذا العمل سوف تحتاج إلى تحديث طرق إلى نقطة مباشرة /Home/IsEmailValid و المعلمتين {companyId} و {customerNumber}.هذا يبدو وكأنه أنا "القرصنة" في نظام التوجيه و أعتقد ربما هناك نظافة البديلة.

هل هناك "السليم" أو الطريقة الموصى بها لإنجاز هذه المهمة ؟

تحرير:ما قصدته من طرق هو أن يمر إضافية المعلمة ({customerNumber}) في عنوان URL (/Home/IsEmailValid/{كومبانييد}/{customerNumber}) لن تعمل مع المسار الافتراضي رسم الخرائط.

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

المحلول

يمكنك استخدام التحقق من صحة مسج البرنامج المساعد أن تفعل ذلك.

عليك تنفيذ الأسلوب الخاص بك على الرغم من مثل هذا :

$.validator.addMethod("checkCompanyEmail", function(value, element) {
    var email = value;
    var companyID = //get the companyID
    var result;
    //post the data to server side and process the result and return it
    return result;
}, "That company email is already taken.");

ثم السجل الخاص بك التحقق من صحة الطريقة :

$("#the-form").validate({
   rules: { email: { required: true, "checkCompanyEmail" : true } } 
});

PS.أنا لا أفهم لماذا تحتاج إلى "الاختراق حول" مع توجيه ذلك.

نصائح أخرى

ومن الوثائق التحقق من صحة تحت طريقة بعيد

    remote: {
      url: "check-email.php",
      type: "post",
      data: {
        username: function() {
         return $("#username").val();
        }
      }
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top