Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 如何在Phoenix框架中验证存在性?_Elixir_Phoenix Framework - Fatal编程技术网

Elixir 如何在Phoenix框架中验证存在性?

Elixir 如何在Phoenix框架中验证存在性?,elixir,phoenix-framework,Elixir,Phoenix Framework,Ecto可以验证格式、包含性、唯一性等,但我看不出如何验证存在性?如果字段为空,是否有向字段添加错误的方法?如验证RoR中是否存在?我可以手动创建,这不是问题,但我想知道是否已经存在类似于validate\u presence\3之类的方法?只需在模型中使用必填字段注释器即可 @required_fields ~w(name email) 对于总共有4个字段和2个必填字段的客户模型,如下所示: defmodule HelloPhoenix.Customer do use HelloPhoe

Ecto可以验证格式、包含性、唯一性等,但我看不出如何验证存在性?如果字段为空,是否有向字段添加错误的方法?如
验证RoR中是否存在
?我可以手动创建,这不是问题,但我想知道是否已经存在类似于
validate\u presence\3
之类的方法?

只需在模型中使用必填字段注释器即可

@required_fields ~w(name email)
对于总共有4个字段和2个必填字段的客户模型,如下所示:

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将自动验证所需字段的存在,并在表单顶部显示错误消息,如下所示:


如何更改自定义错误消息?如果我想显示“废话废话”而不是“不能是空白的”…好吧,那将是一个单独的问题!好吧,那我们就另提一个问题吧!好了->尽管看起来是这样,但由于某种原因,它在我的情况下不起作用,它不会给程序添加错误attributes@JustMichael检查您是否正在使用最新版本的phoenix_-Exto软件包