2010-11-07 18 views
0

J'ai commencé à utiliser le plugin jQuery Validation 1.7.valider un sous-ensemble des éléments d'entrée

J'ai une interface de type assistant qui collecte l'entrée pour plusieurs classes de modèles de vues. J'essaie de valider chaque objet montré dans une étape chaque fois que l'utilisateur clique sur le bouton NEXT/PREVIOUS.

Mon code jquery est comme celui-ci

$w.bind("jwizardchangestep", function (event, ui) { 
    if (ui.type !== "manual") { 
     var $currentStep = $w.find(".jw-step:eq(" + ui.currentStepIndex + ")"); 
     var $inputs = $currentStep.find("input:text"); 

     if ($inputs.length > 0 && !$inputs.valid()) { 
      $currentStep.find("label.error").effect("highlight"); 
      return false; 
     } 
    } 
}); 

$inputs contient une référence à toutes les cases d'entrée dans la page.

De toute façon, la fonction $inputs.valid() renvoie toujours true même si les éléments d'entrée n'ont pas du tout été renseignés. Je suspecte que quelque chose ne va pas avec les règles de validation que je spécifions dans un autre appel jQuery comme celui-ci

$("#registerForm").validate({ 
    rules: { 
     Firm_Name: "required", 
     Firm_StreetAddress: "required", 
     Firm_ZipCode: "required", 
     Firm_City: "required" 
    } 
}); 

Ceci est un code de balisage exemple d'une boîte d'entrée

<input id="Firm_Name" name="Firm.Name" style="width: 460px;" type="text" value="" class="ui-widget-content"> 
+0

J'essaye de créer un assistant aussi, mais je ne sais pas comment conserver l'état de mon viewModel à travers les différentes étapes de l'assistant. Pourriez-vous me dire comment vous avez réussi à le faire? J'ai créé un fil ici http://stackoverflow.com/questions/14769005/asp-net-mvc-updating-model-as-user-progress-through-wizard – Sam

Répondre

0

Il semble que l'appel

$("#registerForm").validate({ 
    rules: { 
     Firm_Name: "required", 
     Firm_StreetAddress: "required", 
     Firm_ZipCode: "required", 
     Firm_City: "required" 
    } 
}); 

configuration de ce que les règles à vérifier au moment de la soumission qui n'est pas bien ce que je voulais faire parce que je voulais valider sur chaque assistant bouton clic suivant.

Utilisation des règles dans les métadonnées comme

<input id="Firm_Name" name="Firm.Name" 
    style="width: 460px;" type="text" value="" 
    class="required ui-widget-content"> 

fonctionne très bien. Merci à tous pour votre aide

1

essayez d'utiliser les noms

Je l'ai eu en travaillant en utilisant des règles dans les métadonnées
$("#registerForm").validate({ 
    rules: { 
     Firm.Name: "required", 
     Firm.StreetAddress: "required", 
     Firm.ZipCode: "required", 
     Firm.City: "required" 
    } 
});