diff --git a/lib/phoenix_html/form.ex b/lib/phoenix_html/form.ex index 53a7eec..ed6f712 100644 --- a/lib/phoenix_html/form.ex +++ b/lib/phoenix_html/form.ex @@ -248,9 +248,10 @@ defmodule Phoenix.HTML.Form do html_escape(value) == {:safe, "true"} end - def normalize_value(_type, value) do - value - end + def normalize_value(_type, nil), do: nil + def normalize_value(_type, true), do: true + def normalize_value(_type, false), do: false + def normalize_value(_type, value), do: html_escape(value) @doc """ Returns options to be used inside a select. diff --git a/test/phoenix_html/form_test.exs b/test/phoenix_html/form_test.exs index 79e9319..9bd423b 100644 --- a/test/phoenix_html/form_test.exs +++ b/test/phoenix_html/form_test.exs @@ -114,7 +114,8 @@ defmodule Phoenix.HTML.FormTest do end test "for anything else" do - assert normalize_value("foo", "") == "" + assert normalize_value("foo", nil) == nil + assert normalize_value("foo", "") == {:safe, [[[] | "<"], "other" | ">"]} end end