Проверка схемы Symfony JSON: нет HTML-тегов

Как создать базовое требование для всех входов, используя Json Schema в проекте Symfony. Например, у меня есть несколько схем, но ни одно из свойств, которые "type": "string" должен принимать теги HTML в качестве входных данных? Вероятно, должно быть какое-то правило Regex. Однако мне нужно найти способ сделать его базовым правилом проверки для всех входных данных в методе проверки без изменения файлов каждой схемы.

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 вместо регулярных выражений.

0

Другие решения

Я бы предложил использовать пакет JSON Bundle (сторонний), который может поставляться с валидатором, например:

https://github.com/justinrainbow/json-schema

https://github.com/HadesArchitect/JsonSchemaBundle

0

По вопросам рекламы [email protected]