Errors aren't hidden on a form after creation

Right, so the validate call is turning the errors on. By default when you create a form errors are off. Try this:

  defp apply_action(socket, default_date) do
    current_user = socket.assigns.current_user

    form =
      AshPhoenix.Form.for_create(Task, :create,
        api: Tasks,
        actor: socket.assigns.current_user,
        forms: [auto?: true]
      )

    form = AshPhoenix.Form.validate(form, %{"task_code" => default_suggested_task_code}, errors: false)
    

    form =
      form
      |> AshPhoenix.Form.add_form(:task_members, validate_opts: [errors: false])
      |> AshPhoenix.Form.add_form(:keydates, validate_opts: [errors: false])

    socket
    |> assign(:form, form)
  end