Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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.
- # Form
- defmodule Teste.Forms.Contact do
- use Ecto.Schema
- import Ecto.Changeset
- schema "embedded_schema" do
- field :email, :string
- field :name, :string
- field :message, :binary
- end
- def changeset(model, attrs) do
- model
- |> cast(attrs, [:email, :name, :message])
- |> validate_required([:email, :name, :message])
- |> validate_length(:message, min: 10)
- end
- end
- # Controller
- def send_email(conn, %{"contact" => contact_params}) do
- changeset = Contact.changeset(%Contact{}, contact_params)
- render(conn, "index.html", changeset: changeset)
- end
- # Formulário
- <%= form_for @changeset, Routes.page_path(@conn, :send_email), [method: "post"], fn f -> %>
- <%= if @changeset.action do %>
- <div class="alert alert-danger">
- <p>Oops, something went wrong! Please check the errors below.</p>
- </div>
- <% end %>
- <div class="row">
- <div class="col-sm-12">
- <%= text_input f, :name, [placeholder: "Nome", class: "form-control", required: true] %>
- <%= error_tag f, :name %>
- </div>
- <div class="col-sm-12">
- <%= email_input f, :email, [placeholder: "E-mail", class: "form-control", required: true] %>
- <%= error_tag f, :email %>
- </div>
- </div>
- <div class="form-group">
- <%= textarea f, :message, [placeholder: "Mensagem", class: "form-control", required: true] %>
- <%= error_tag f, :message %>
- </div>
- <%= submit "Enviar", [class: "btn btn-block"] %>
- <% end %>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement