1

我试图弄清楚如何解析表单条目以将模型属性设置为其他内容;例如,从 URL 输入中提取 youtube 视频的视频 ID。有没有办法使用解析器/格式化程序(6.21 功能?)轻松完成此任务?我希望为此找到一个很好的例子,也许某处有一个,但如果没有的话,这可能会成为一个很好的例子。

这是我正在尝试完成的工作示例,但在多个步骤中且不使用解析器。任何帮助调整代码以model.videoID通过单个步骤(或至少少于 3 个步骤)从 URL 设置的帮助将不胜感激。感谢您对这个问题和我过去的其他问题的帮助。:)

4

1 回答 1

1

哇,这比我预期的要容易得多。这是 JS Bin 的修改,它使用parsers最近添加的angular-formly@6.21.0,在一个函数中从 YouTube URL 中提取视频 ID。它还可以方便地验证自己!

下面是相关代码,总结一下:

{
  key: 'vidid',
  type: 'input',
  parsers: [extractID],
  templateOptions: {
    label: 'YouTube Video',
    placeholder: 'Insert video URL here'
},

...

function extractID(value) {    
  if (value != undefined || value != '') {        
    var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/;
    var match = value.match(regExp);
    if (match && match[2].length == 11) {
      return match[2];
    }
  }
};
于 2015-07-31T01:27:46.983 回答