2017-09-26 66 views
0

如何在Symfony项目中使用Json Schema创建所有输入的基本要求。例如,我有多个模式,但是没有一个"type": "string"的属性应该接受HTML标记作为输入?可能应该有一些正则表达式规则。不过,我需要找到办法让它在验证方法的所有输入基地验证规则,而不改变每个架构文件Symfony json模式验证:无html标签

public function check($jsonData, $schemaFilePath){ 
    $path = $this->fileLocator->locate($schemaFilePath); 

    $schema = (object)['$ref' => 'file://' . $path]; 

    $this->validator->validate($jsonData, $schema); 

    if($this->validator->isValid()){ 
     return null; 
    }else{ 
     return $this->validator->getErrors(); 
    } 
} 

希望我的问题是清楚的。让我知道,如果我可以添加更多的细节

回答

0

有2个问题在这里:

  • 存在JSON模式没有办法界定这种“基本要求”
  • 是不可能验证HTML与正则表达式。即使你最大的努力将产生只有部分工作的结果,所以你的正则表达式将提供假阴性,也误报

我认为这将是更好的这个验证移动到应用水平和使用适当的HTML解析器,而不是正则表达式。