سؤال

وأنا حاليا باستخدام البرنامج المساعد التحقق من صحة للتحقق من صحة النموذج (باستخدام عناصر تحكم ASP.Net). لقد جردت من القواعد من الإعداد القياسي في طريقة أي form.validate:

    $("form").validate({

    rules: {
        ctl00$ContentPlaceHolder1$dgQuestions$ctl14$iRadList_Col0: "required"
    }

});

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

function addRuleSet() {
    $("#ctl00$ContentPlaceHolder1$dgQuestions$ctl14$iRadList_Col0").rules("add", { required: true });

و}

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

وPS أنا فعلا بحاجة لاستدعاء RadioButtonList بدلا من أزرار الاختيار الفردية.

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

المحلول

ويمكنك أيضا تطبيق حكم وضع الطبقات على العنصر. على سبيل المثال، إذا كنت تعطي الطبقة "مطلوب" إلى الإدخال، ثم تطبيق القاعدة اللازمة لذلك العنصر. للقيام بذلك، وكنت استخدام الخاصية CssClass على عنصر التحكم. قد تحتاج إلى تجربة مع الضوابط المجمع، مثل RadioButtonList، للتأكد من أن الطبقة يتم تطبيقها على عناصر المدخلات ولدت، وليس الحاوية. إذا كان لديك مشكلة مع هذا، طريقة واحدة للقيام بذلك سيكون لإضافة فئة باستخدام مسج بعد تحميل الصفحة على أساس محدد.

<asp:RadioButtonList id="RadList" runat="server" CssClass="required">
   ...
</asp:RadioButtonList>

أو

<script type="text/javascript">
     $(function() {
          $(':radio').addClass('required');
          $('form').validate();
     });
</script>

لقاعدة المعقدة، على أساس طبقي يمكنك إضافة قواعد جديدة باستخدام addClassRules.

<script type="text/javascript">
    $(function() {
        $.validator.addClassRules({
             range0to10: {
                  range: [0, 10]
             },
             name: {
                  minlength: 2,
                  required: true
             }
        });
        $('form').validate();
    });
</script>

<form ... >
<input type="text" name="rating" id="rating" class="range0to10" />
<input type="text" name="firstName" id="firstName" class="name" />
<input type="text" name="lastName" id="lastName" class="name" />
</form>

نصائح أخرى

وبعد أيام من هذا يقود لي مجنون، طرح السؤال حصلت لي التفكير في كيفية الحصول على عنصر عودته بشكل صحيح، وجئت عبر هذه الطريقة في وضع مرجع لstaright بعيدا الذي يسمح لي للقيام بذلك:

$("input:radio[name='ctl00$ContentPlaceHolder1$dgQuestions$ctl14$iRadList_Col0']").rules("add", { required: true });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top