2016-06-20 3 views
0

Dieser Code ruft Feldwerte aus einem Formular ab, und ich kann die Werte sehen, die ordnungsgemäß übergeben werden, wenn ich in der Konsole debuggen. Aufgrund des zusätzlichen Objekts, das mit meinem ersten Wert hinzugefügt wurde, wirft Meteor einen Desinfektionsfehler ... irgendwelche Ideen?Übergebenes Vorlagenobjekt löst einen Bereinigungsfehler in Meteor aus

Template.sendInvitationModal.events({ 
'submit form': function submitForm(event, template) { 
    event.preventDefault(); 

    var firstName = template.find("[name='firstName']").value, 
     lastName = template.find("[name='lastName']").value, 
     email = template.find("[name='emailAddress']").value, 
     store = template.find("[name='store'] option:selected").value, 
     position = template.find("[name='position'] option:selected").value, 
     roles = template.find("[name='roles'] option:selected").value; 

    debugger; 

    if (email && roles && position !== "") { 
    Meteor.call("sendInvitation", { 
    firstName: firstName, 
    lastName: lastName, 
    email: email, 
    store: store, 
    position: position, 
    roles: roles 
    }, function (error, response) { 
    if (error) { 
     toastr["warning"](error.reason); 
    } else { 
     $("#send-invitation-modal").modal('hide'); 
     $('.modal-backdrop').hide(); 
     toastr["success"]("Invitation sent!"); 
    } 
    }); 
} else { 
    toastr["warning"]("Please set an email and at least one user type!"); 
}}}); 

Dies ist der Wert mit Vornamen übergeben wird, wenn "sendInvitation"

firstName = "Richard", template = B…e.TemplateInstance {view: B…e.View, data: Object, firstNode: div#send-invitation-modal.modal.fade.in, lastNode: div#send-invitation-modal.modal.fade.in, _allSubsReadyDep: T…r.Dependency…} 

Aufruf Und dann wirft Meteor einen sanitize Fehler. Irgendwelche Vorschläge?

Antwort

0

Wir haben es geschafft (danke Ryan Glover für Ihre Unterstützung), eine Lösung zu finden, indem Sie einfach die Zuweisung der Variablen aus den aus dem Formular herausgezogenen Werten in ein Objekt umwandeln. Ich habe es gelöst! So ist der korrekte Code ...

Template.sendInvitationModal.events({ 
'submit form': function submitForm(event, template) { 
    event.preventDefault(); 

    var data = { 
    firstName: template.find("[name='firstName']").value, 
    lastName: template.find("[name='lastName']").value, 
    email: template.find("[name='emailAddress']").value, 
    store: template.find("[name='store'] option:selected").value, 
    position: template.find("[name='position'] option:selected").value, 
    roles: template.find("[name='roles'] option:selected").value 
    }; 

    if (data.email && data.roles && data.position !== "") { 
    Meteor.call("sendInvitation", data, function (error, response) { 
     if (error) { 
     toastr["warning"](error.reason); 
     } else { 
     $("#send-invitation-modal").modal('hide'); 
     $('.modal-backdrop').hide(); 
     toastr["success"]("Invitation sent!"); 
     } 
    }); 
    } else { 
    toastr["warning"]("Please set an email and at least one user type!"); 
    } 
} 
});