2015-08-02 4 views
1

J'essaie d'ajouter une simple validation de jquery à ma page Web mais les erreurs de validation ne sont pas déclenchées. Quand j'essaye la même chose avec fiddler, ça fonctionne comme prévu. http://jsfiddle.net/qUYvS/381/jquery validation ne fonctionne pas avec mvc

$("#form-wrap form").validate({ 
 
     rules: { 
 
      Link: { 
 
       required: true, 
 
       url: true 
 
      } 
 
     }, 
 
     messages: { 
 
      Link: { 
 
       url: "Enter valid Url" 
 
      } 
 
     }, 
 
     submitHandler: function (form) { 
 
      alert('valid form'); 
 
      form.submit(); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
<script type='text/javascript' src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js"></script> 
 
    
 
<div id="form-wrap"> 
 
<form action="#" method="post"><input name="__RequestVerificationToken" type="hidden" value="GL-DZaLE0C8unpgVgzCSNK4ltxZZTPjI_O-oM4K01GBrnePo31eqlAeBgDHIVk5XwmqABEJh6h077x9nXu5JyCU5nv_TKWXZHfbfiAH-tvCXh6_1cARsW2cOj11P-IwmP9RiSeAl9WyyOOKV7dMhYg2" />  <div class="form-horizontal">  
 
      <div class="form-group"> 
 
       <label class="control-label col-md-2" for="Link">Link</label> 
 
       <div class="col-md-10"> 
 
        <input class="form-control text-box single-line" id="Link" name="Link" type="text" value="" /> 
 
        <span class="field-validation-valid text-danger" data-valmsg-for="Link" data-valmsg-replace="true"></span> 
 
       </div> 
 
      </div> 
 

 
      <div class="form-group"> 
 
       <div class="col-md-offset-2 col-md-10"> 
 
        <input type="submit" value="Create" class="btn btn-default" /> 
 
       </div> 
 
      </div> 
 
     </div> 
 
</form></div>

C'est l'ordre dans lequel les faisceaux sont rendus

<script src="/Scripts/jquery-1.10.2.js"></script> 

<script src="/Scripts/jquery.validate.js"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.js"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.bootstrap.js"></script> 
<script src="/Scripts/site/myscript-1.0.js"></script> 

Je ne sais pas pourquoi il ne fonctionne pas avec ma page Web quand il fait en violoniste. Qu'est-ce qui me manque ici?

+0

Avez-vous essayé ce src = "@ Url.Content (" pathofthescript ")" – sakir

Répondre

0

J'ai finalement compris que j'ai manqué de supprimer les lignes de rendu de scripts suivantes dans _layout.cshtml sous la balise.

@Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/bootstrap") 
    @RenderSection("scripts", required: false) 

Il a bien fonctionné quand j'ai enlevé les ..

1

T il meilleure façon, vous pouvez utiliser le plugin bug feu dans fire fox, debug dans Internet Explorer ou utiliser le navigateur de bord dans Windows 10.

donc pour télécharger bug de feu click here. En this link, vous pouvez voir la page du document.

0

si vous voulez écrire la règle valide, vous-même, ne pas ref jquery.validate.unobtrusive.js
il ajoutera l'auto de validation lorsque chargement de la page
et js jquey.validate, il vérifiera si la la validation existe, si elle est vraie, elle ne fera rien.
si vous voulez ajouter plus de règles, vous pouvez utiliser $ (...). Les règles ("ajouter", {...})
vérifier la doc http://jqueryvalidation.org/rules
j'ai Answerd une autre question avant, jQuery Unobtrusive client-side validation of custom attribute, vous pouvez voir ceci