2013-03-10 6 views
6

Ho una forma e una funzione di presentare nel mio cliente di file:lato server in Meteor

function submitme() { 
    var message = $('#daform').serializeJSON(); 
    message.owner = Meteor.user().username; 
    if(!message.description || !message.location.lat || !message.location.lng || !message.mysex || !message.yoursex) { 
     return;   
     } 
     else 
     { 
      lists.insert(message); 
      console.log("Submitted!"); 
      $('#daform')[0].reset(); 
     } 
} 

che funziona abbastanza bene anche se - è CLIENTE validazione lato => non sicuro.

Come si implementa un controllo di convalida "back-up" nel file del server? (+ domanda bonus: come faccio a impostare un timer in modo che una volta inviato devi aspettare X secondi prima di reinviare?)

risposta

2

Puoi usare http://docs.meteor.com/#deny (Puoi usare permetti ma potrebbe essere più facile mettere le cose di convalida in un smentire separatamente) come nega sovrascriverà consentire nel caso in cui non dovrebbe essere inserito:

Funziona proprio come un metodo di backup sul server appena prima della sua inserimento.

con la vostra collezione messaggio

Server Js

message.deny({ 
    insert: function (userId, doc) { 
     return (!doc.description || !doc.location.lat || !doc.location.lng || !doc.mysex || !doc.yoursex); 
    }, 
    update: function (userId, docs, fields, modifier) { 
     return (!doc.description || !doc.location.lat || !doc.location.lng || !doc.mysex || !doc.yoursex); 
    } 
); 

Nota: Tornando falso dal negare mezzo che non sia di negare. Per negare l'aggiornamento, è necessario restituire true.

+0

grazie! vorrebbe dire: 'lists.deny ({ update: function() { return false; } });' che tutti gli aggiornamenti sono disabilitati? (non funziona: /) –

+0

per negare tutti gli aggiornamenti necessari per restituire 'true', invece,' false' significa che non vuoi negarlo. Quale non funziona quello che ho postato? – Akshat

+0

ah sì, vero, scusa ho mescolato il negare/permetti .. (no, mio, provo i tuoi adesso ma sono sicuro che funzionerà) –