2012-11-29 3 views
7

Ho recentemente aggiunto Breeze a un progetto utilizzando Knockout e ASP.NET MVC4. Mi piace molto Breeze e consente di risparmiare un sacco di codice.Validazione in Breeze e Knockout

Ho usato la convalida del knockout e mi piace come convalida una casella di testo del campo proprietà sull'immissione dei dati e il modo in cui viene visualizzato il messaggio di errore.

Vorrei utilizzare una combinazione in cui i requisiti di convalida sono definiti nel back-end con attributi C# sulle proprietà dell'oggetto, i requisiti di convalida vengono ricevuti nei metadati e quindi è possibile utilizzare la convalida di Knockout.

credo di poter lavorare intorno ad esso definendo le proprietà nel front-end e l'applicazione di Knockout convalida esempio

classProperty.extend({ required: true }) 
      .extend({ minLength: 3 }); 

C'è un modo per utilizzare la convalida Knockout senza dover applicare i requisiti di convalida nel front- fine? Altrimenti, stai pensando di farlo?

Questa domanda è stata pubblicata da johnvarney sui nostri forum IdeaBlade. Sto ripubblicando la domanda e la risposta qui poiché penso che sarà utile alla comunità Breeze Stack Overflow.

risposta

6

Come probabilmente avrete notato, Breeze esegue già convalide basate sui metadati. Regole di "validazione" di base come se è richiesta una proprietà, è datatype e la sua lunghezza se una stringa viene generata automaticamente sul server e inviata al client. Queste regole di convalida possono anche essere estese modificando direttamente i metadati di "validazione" sul client.

Ulteriori informazioni su questo argomento sono disponibili nella documentazione API: http://www.breezejs.com/sites/all/apidocs/classes/Validator.html nonché nella directory di esempio "DocCode" nel download di Breeze Samples.

Stiamo anche progettando di fornire esempi su come "collegare" la convalida di brezza a varie librerie di terze parti, come jQuery e Knockout. Sfortunatamente, questi esempi non hanno attualmente una priorità elevata a causa del lavoro su altre funzionalità altamente richieste. Potresti voler votare per lavorare su questi esempi sul nostro Breeze User Voice https://breezejs.uservoice.com/forums/173093-breeze-feature-suggestions. Prendiamo sul serio questo luogo nel prendere decisioni su cosa fare dopo.