Ecto può convalidare formato, inclusione, unicità e così via, ma non riesco a vedere come posso confermare la presenza? c'è un metodo per aggiungere un errore a un campo se è vuoto? Come validates_presence_of
in RoR? Posso farlo manualmente, non è un problema, ma mi chiedo se esiste un metodo già esistente come validate_presence\3
o qualcosa del genere?Come convalidare la presenza nel framework Phoenix?
5
A
risposta
3
Basta usare l'annotatore required_fields nel modello.
@required_fields ~w(name email)
Per un modello di cliente con un totale di 4 campi e 2 campi obbligatori come questo:
defmodule HelloPhoenix.Customer do
use HelloPhoenix.Web, :model
schema "customers" do
field :name, :string
field :email, :string
field :bio, :string
field :number_of_pets, :integer
timestamps
end
@required_fields ~w(name email)
@optional_fields ~w()
def changeset(model, params \\ :empty) do
model
|> cast(params, @required_fields, @optional_fields)
end
end
Phoenix convaliderà automaticamente la presenza dei campi richiesti e messaggi di errore display nella parte superiore della formare come di seguito:
Problemi correlati
- 1. Come concatenare due tag nel framework phoenix?
- 2. Come ottenere l'url corrente nel framework phoenix
- 3. Callback di Phoenix Framework
- 4. Come caricare la vista interna nel framework Phoenix?
- 5. Come gestire associazioni e moduli annidati nel framework Phoenix?
- 6. Come disabilitare selettivamente il controllo CSRF nel framework Phoenix
- 7. Come convalidare la formattazione dell'indirizzo e-mail con .NET Framework?
- 8. Qual è la differenza tra `def` e` defp` nel Phoenix Framework?
- 9. Come faccio a verificare la presenza di vuoto nel DataView.RowFilter
- 10. ricerca a testo completo per phoenix framework
- 11. Utilizzo di Phoenix Framework senza Ecto
- 12. Phoenix Framework: come instradare il tipo di supporto personalizzato?
- 13. Come aggiungere un messaggio di errore personalizzato per un campo richiesto nel framework Phoenix
- 14. Come creare una vista globale in Phoenix Framework?
- 15. Come usare SASS/SCSS con il framework Phoenix?
- 16. Come inviare e-mail con il framework Phoenix
- 17. Come configurare Plug.Static senza Phoenix
- 18. Come rilevare la presenza di moduli es6
- 19. Quando devo convalidare la presenza di un oggetto di associazione ActiveRecord rispetto al suo id?
- 20. Maven verifica la presenza di dipendenze aggiornate nel repository
- 21. Come personalizzare l'id di Phoenix
- 22. Come verificare la presenza di caratteri alfanumerici
- 23. Come verificare la presenza di file
- 24. Elixir Ecto: come convalidare il vincolo di chiave esterna?
- 25. Come usare handle_info() da worker nel canale Phoenix?
- 26. Come verificare la presenza di un PDF danneggiato in iOS?
- 27. Phoenix Ecto come gestire NoResultsError
- 28. Come utilizzare la connessione con la sessione di phoenix?
- 29. come convalidare la presenza di un campo solo se un altro campo è stato modificato nelle guide?
- 30. Devo convalidare i parametri nel costruttore?
Come posso cambiare il messaggio di errore personalizzato? Se voglio mostrare "blah blah" invece di "non può essere vuoto" ... – JustMichael
beh, quella sarebbe una domanda a parte! – emaillenin
beh, facciamo una domanda a parte! Ci si va -> http://stackoverflow.com/questions/32032246/how-to-add-a-custom-error-message-for-a-required-field – JustMichael