Ho una semplice applicazione grezza in Angular (1.2) e Laravel (4.2). Per semplici operazioni CRUD uso efficiente metodo Eloquent:Perché i set angolari non sono definiti per i campi vuoti del modello ng
$product->fill(Input::all());
che prende tutti i campi richiesta payload, ma c'è un problema quando ho bisogno di fare modello di aggiornamento con i campi vuoti.
Nel azione di modifica Ho una forma che è pieno di risposta di $ risorsa metodo get del mio servizio:
adminModule.factory 'Product', ($resource) ->
$resource '/admin/products/:id', { id: '@id' }, {
query: { method: 'GET', isArray: false }
update: { method: 'PUT' }
}
un controller:
adminModule.controller 'ProductFormEditController', ($scope, Product, $stateParams) ->
$scope.formData = Product.get({id: $stateParams.id})
e html:
<input type="text" data-ng-model="formData.name" name="name" class="form-control" id="name"
placeholder="Nazwa" data-server-error required>
Se cancello questo valore di campo e invio il valore di $ scope.formData è impostato su undefined e non c'è n ot incluso nella richiesta PUT, quindi il metodo di riempimento del modello laravel non vede comunque il campo e non imposta il valore vuoto per la convalida, ma assume il valore originale del modello.
Il problema è: come posso inviare una stringa vuota da ngModel anziché non definita?
p.s. Se il tipo di input è textarea, la risorsa $ invia vuota stringa ""://, quindi sono confuso ...
devo l'attributo richiesto per l'ingresso causa convalida forma angolare ...E sì ho novalidate sul tag form che non aiuta –
Sfortunatamente questo non è il modo in cui "richiesto" funziona in modo angolare. Vedi la mia risposta modificata. –