سؤال

بعد محاولته تجنب JavaScript لسنوات، بدأ Iv في استخدام Query لـ تصديق في MVC asp.net، نظرًا لعدم وجود طريقة رسمية للتحقق من الصحة، فقد تفاجأت بمدى جودة jQuery.

أولاً، هل هناك طريقة لجعل التحسس الذكي يعمل مع jQuery والمكون الإضافي للتحقق من صحته، حتى لا أضطر إلى تعلم واجهة برمجة التطبيقات؟

ثانيًا، كيف يمكنني إنشاء ملخص التحقق من الصحة لهذا، فهو يقوم حاليًا بإلحاق الخطأ على يمين مربع النص.:

<script type="text/javascript">
$().ready(function() {
$("#CreateLog").validate({
        rules: {            
            UserName: {
                required: true,
                minLength: 2,

            }
        },
        messages: {

            UserName: {
                required: "Please enter a username",
                minLength: "Your username must consist of at least 2 characters",

            }
        }
    });
});
</script>

<form id="CreateLog" action="Create" method="post" />   
        <label>UserName</label><br />
        <%=Html.TextBox("UserName")%> 
         <br />  
          <div class="error"> </div>
        <input  type=submit value=Save />
       </form>

حاولت إضافة هذا إلى البرنامج النصي:

 errorLabelContainer: $("#CreateLog div.error")

وهذا إلى HTML:

  <div class="error"> </div>

لكن هذا لم ينجح.

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

المحلول

حاول تحديد غلاف وحاوية تسمية في خياراتك.أضفت أيضا display:none; إلى نمط حاوية الأخطاء للسماح لـ jQuery بتحديد وقت إظهارها.

$().ready(function() {
  $("#CreateLog").validate({
    errorLabelContainer: $("ul", $('div.error-container')),
    wrapper: 'li',
    rules: {            
        UserName: {
            required: true,
            minLength: 2,

        }
    },
    messages: {
      UserName: {
        required: "Please enter a username",
        minLength: "Your username must consist of at least 2 characters"
      }
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="error-container">
  <ul></ul>
</div>

<form id="CreateLog" action="Create" method="post" />   
  <label>UserName</label><br />
  <%=Html.TextBox("UserName")%> 
  <br />  
  <input  type=submit value=Save />
</form>

التي يجب أن تعمل.

نصائح أخرى

يوجد إصلاح عاجل لبرنامج Visual Studio 2008 لـ مسج التحسس الذكي في VS2008 .ربما تم تجميع هذا مع SP1 أيضًا.

فيما يتعلق بالتحسس الذكي لـ jquery (والمكونات الإضافية الأخرى):للحصول على ذكاء كامل في ملفات البرامج النصية الخاصة بك أيضًا، ما عليك سوى تضمين السطر التالي في أعلى ملف .js الخاص بك مرة واحدة لكل ملف تريد التحسس منه:

/// <reference path="[insert path to script file here]" />

بسيطة ولكنها مفيدة جدا =)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top