Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 1.67 KB | None | 0 0
  1. # Não está apresentando o erro de validação. A parte do envio de email removi para o código não ficar grande, mas está funcionando normal.
  2. # Form
  3. defmodule Teste.Forms.Contact do
  4.   use Ecto.Schema
  5.   import Ecto.Changeset
  6.  
  7.   schema "embedded_schema" do
  8.     field :email, :string
  9.     field :name, :string
  10.     field :message, :binary
  11.   end
  12.  
  13.   def changeset(model, attrs) do
  14.     model
  15.     |> cast(attrs, [:email, :name, :message])
  16.     |> validate_required([:email, :name, :message])
  17.     |> validate_length(:message, min: 10)
  18.   end
  19. end
  20.  
  21. # Controller
  22. def send_email(conn, %{"contact" => contact_params}) do
  23.     changeset = Contact.changeset(%Contact{}, contact_params)    
  24.     render(conn, "index.html", changeset: changeset)
  25. end
  26.  
  27. # Formulário
  28. <%= form_for @changeset, Routes.page_path(@conn, :send_email), [method: "post"], fn f -> %>
  29.   <%= if @changeset.action do %>
  30.     <div class="alert alert-danger">
  31.       <p>Oops, something went wrong! Please check the errors below.</p>
  32.     </div>
  33.   <% end %>
  34.   <div class="row">
  35.     <div class="col-sm-12">
  36.       <%= text_input f, :name, [placeholder: "Nome", class: "form-control", required: true] %>        
  37.       <%= error_tag f, :name %>
  38.     </div>
  39.     <div class="col-sm-12">
  40.       <%= email_input f, :email, [placeholder: "E-mail", class: "form-control", required: true] %>        
  41.       <%= error_tag f, :email %>
  42.     </div>                                              
  43.   </div>
  44.   <div class="form-group">
  45.     <%= textarea f, :message, [placeholder: "Mensagem", class: "form-control", required: true] %>        
  46.     <%= error_tag f, :message %>
  47.   </div>
  48.   <%= submit "Enviar", [class: "btn btn-block"] %>
  49. <% end %>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement