如何在JS和Rails中处理参数验证?

时间:2019-02-25 20:29:56

标签: javascript ruby-on-rails ruby reactjs validation

我想知道在前端(JS / React)和后端(Rails / Mongoid)中处理参数验证的更好方法是什么。我当时想直接在Rails控制器中进行验证,因为几乎所有内容都是可选的,它是针对API的,并且有许多参数。即使不需要该字段,Mongoid也会为每个field条目填充一个null值。

我当时在想有这样的配置文件:

search_engine_a:
  q:
    required: true
    explanation: Query to be searched
    error: Query is required
  num:
    explanation: Number of results
    type: Integer
    interval: 0_100
    error: Needs to be an integer between 0 and 100
  start
    explanation: Results offset
    type: Integer
    error: Needs to be an integer between 0 and 100
  ...
search_engine_b:
  wd:
    required: true
    explanation: Query to be searched
    ...
  ...
...

然后在Ruby on Rails中提供一些代码来解析该代码以用于我们的API请求,并在需要时提供错误消息。前端在JS中也是如此。解析相同的配置文件,并使用它在我们的API Playground界面中提供错误和说明。

这有意义还是我在重新发明轮子?

[EDIT]为了给出更精确的想法,它用于以下API:https://serpapi.com/search-api

1 个答案:

答案 0 :(得分:1)

您是否考虑过使用json-schemavalidate it server sidetypescript integration有很多插件,也许还有很多我不知道的插件!