mysql - Erlang json验证问题

标签 mysql json database validation erlang

我对 erlang 有点陌生

尝试使用 https://github.com/Prots/olifer 进行 JSON 验证

但出现错误:

1> sql_app:update(<<"0.2851">>,<<"frfrfrfr">>)。

** 异常错误:没有 case 子句匹配 [{<<"0.2851">>, <<“格式错误”>>}] 在函数 sql_app:update/2 中(c:/sql/_build/default/lib/sql/src/sql_app.erl,第 31 行)

功能是:

update(Id, Info) ->
  case olifer:validate(Id, [{<<"string">>, <<"required">>}]) of
    {ok, _} ->  
    emysql:prepare(info, <<"UPDATE vobla SET info = ? WHERE id = ?">>),
      Result1 = emysql:execute(erlang, info, [Info, Id]),
      io:format("~n~p~n", [Result1]);
    {errors, _} -> io:format("~n~p~n", [error])
  end.

你能帮我解决一下吗?

提前致谢。

最佳答案

说明你写的case子句与传入的结果不匹配[{<<"0.2851">>, <<"FORMAT_ERROR">>}] 。您的 case 子句与格式 {ok, _} 的元组匹配或{errors, _} 。不是一个 list 。

update(Id, Info) ->
  Res = olifer:validate(Id, [{<<"string">>, <<"required">>}]),
  io:format("~p", [Res]),
  case Res of
    [Tup] -> do_something; % could be an error
    {ok, _} ->  % validation success
    emysql:prepare(info, <<"UPDATE vobla SET info = ? WHERE id = ?">>),
      Result1 = emysql:execute(erlang, info, [Info, Id]),
      io:format("~n~p~n", [Result1]);
    {errors, _err} -> io:format("~n~p~n", [_err])
  end.

根据日志,您遇到格式错误。

关于mysql - Erlang json验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40447518/

相关文章:

mysql - 如何在 Spring 中使用 Hibernate 和 MySQL 来使用 Querydsl 执行按位运算

mysql - 是否可以在 MYSQL 数据库列中给出条件?

java - 使用 Jackson 避免使用空字段的对象

java - 有没有一种简单的方法可以在 Oracle 中克隆表的结构?

python - 我应该使用 sqlite3 用 python 存储用户名和密码吗?

Java DatabaseMetaData.getSchemas() 返回空 ResultSet,预期非空 ResultSet

mysql - Django 字符集和编码

php - 将数据插入数组php pdo

javascript - 如果对象的名称存储为变量,则从对象获取值?

mysql:查看给定数据库的所有打开连接?