2014-09-10 3 views
0

У меня есть часть кода в SmartWizard. Я хочу добавить пользовательскую проверку для каждого элемента управления HTML.Добавить пользовательскую проверку в SmartWizard

<form id="myform"> 
    <input type="text" name="field1" /> 
    <br/> 
    <input type="text" name="field2" /> 
    <br/> 
    <input type="submit" /> 
</form> 

Я пробовал под кодом, но не работал.

function leaveAStepCallback(obj){ 
       var step_num= obj.attr('rel'); // get the current step number 
     return validateSteps(step_num); // return false to stay on step and true to continue navigation 
     } 

ответ

3

Я знаю, что это хорошо из даты, но им будет отвечать в любом случае, как я нашел этот пост, прежде чем делать это сам

//..init wizard 
onLeaveStep: function(obj, context){ 
    //Validate the current step         
    var frst = "#step-"+context.fromStep; 
    var container = this.elmStepContainer.find(frst); 
    //container now contains everything in the box 
    //you can now container.find("...") to get fields 
    //and then run some regex or whatever you want to do the validation 
    if(invalid_fields.length > 0){ 
     return false ; 
    }else{ return true;}}, 
//...the rest of the wizard init 
1

Это помогло бы для других ищет тот же вопрос, это реализация - из версии 4 плагина. Возврат false для этого метода событий остановит распространение шагов и, таким образом, останется на том же шаге с ошибкой.

$("#smartwizard").on("leaveStep", function(e, anchorObject, stepNumber) { 
    var formElms = $(anchorObject.attr('href')).find("input, textarea"); 
    var hasError = false; 
    $.each(formElms, function(i, elm){ 
     if(elm.val().length == 0){ 
      hasError = true; 
     } 
    }); 
    return !hasError; 
}); 
Смежные вопросы