angular - 将字符串转换为 typescript 中的对象?

标签 angular validation typescript

我正在尝试使用 Is-Valid-Glob 验证 glob 表达式它接受字符串和数组。需要验证的值是从文本字段接收的。问题是,如果我们传递一个无效的 glob 表达式,它会产生错误的结果,因为每个输入都是作为字符串接收的。例如:- 如果用户输入 [](无效的 glob),它会作为字符串 '[]' 分配给模型变量,并且验证是在 '[]' 而不是 [] 值上完成的。 有没有一种方法可以将值从字符串变量转换为对象变量(只有值不应该获取类型)并进行验证?

PS:我使用的是 Angular 2。

最佳答案

您可以使用 JSON.parse 将字符串转换为对象:

     var x = require('is-valid-glob');
     var y = '[]';//'foo/*.js' any user provided string
     // this will check if the user has provided an array object if so it 
     //will do a json.parse to remove the '' and then verify the string for a glob.
     x(y[1] !== '['?y:JSON.parse(y));

关于angular - 将字符串转换为 typescript 中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47974559/

相关文章:

javascript - 主干验证插件不验证

javascript - AngularJS 表单仍然 $dirty,手动设置每个输入 $pristine

asp.net-mvc - Azure Git 支持的持续部署的正确部署脚本

angular - 在 Angular CLI 中使用 ng build --prod 时使用 cdn 而不是本地服务

angular - requestAnimationFrame 只被调用一次

angular - 如何正确地将 document.addEventListener 添加到 Angular2?

angular - 如何自定义 Compodoc Angular 文档?

html - 尝试修复 w3 验证器错误和警告

typescript - 有没有办法以数字形式获取元组的键?

node.js - Node Js/Typescript - AMQP 消费者