如何用mustache.js验证胡子模板?

时间:2018-01-04 10:14:07

标签: javascript node.js validation mustache

我使用模块ejs来验证来自管理信息中心的ejs模板和变量:

try {
  resolve(ejs.render(template, variables))
} catch (error) {
  reject(error)
}

如果此模板存在一些问题,则会抛出错误,我可以将其发送给客户端。

另外,我有一个胡须模板来验证。我使用相同的方法:

try {
  resolve(mustache.render(template, variables))
} catch (error) {
  reject(error)
}

但是mustache根本不会抛出错误,如果没有变量,它只是用空字符串替换它。

我该如何解决这个问题?需要正确验证模板。

2 个答案:

答案 0 :(得分:1)

我在图书馆的fork找到了解决方案。 感谢Scott它的工作原理应该如此。

答案 1 :(得分:0)

如果您正在使用mustache.js,则无法在未定义的变量here is an open issue上抛出错误。根据{{​​3}},这似乎没问题。

  

默认情况下,变量" miss"返回一个空字符串。这通常可以在您的Mustache库中配置。

因此,如果您确实需要验证没有未定义的变量,那么您将不得不为Mustache使用另一个JS库(如果有的话,我不确定),或者希望他们添加了这个功能。