Validate_number: comparing two fields

Thanks for your response.

I formatted my code as recommended

def changeset(%Passbook{} = passbook, attrs) do
		# getSerialStart = Map.get(attrs, "serial_start")
		# if getSerialStart do
		# 	{serial_start_number, _} = Integer.parse(Map.get(attrs, "serial_start"))
		# else
		# 	serial_start_numer = 0;
		# end
		passbook = %{serial_start: serial_start} = passbook
		|> cast(attrs, [:account_id, :customer_id, :passbook_number, :serial_start, :serial_end, :active])
		|> validate_required([:account_id, :customer_id, :passbook_number, :serial_start, :serial_end])

		passbook = passbook
		|> validate_number(:serial_end, greater_than: serial_start)
		# |> validate_number(:serial_end, greater_than: serial_start_number)
		|> unique_constraint(:passbook_number, message: "Passbook number already exist.")
	end

And i got this error

no match of right hand side value: #Ecto.Changeset<action: nil, changes: %{}, errors: [account_id: {"can't be blank", [validation: :required]}, customer_id: {"can't be blank", [validation: :required]}, passbook_number: {"can't be blank", [validation: :required]}, serial_start: {"can't be blank", [validation: :required]}, serial_end: {"can't be blank", [validation: :required]}], data: #Vokmfi.Clients.Passbook<>, valid?: false>