func Validate()

in pkg/yml/schema.go [181:199]


func Validate(request string) (bool, error) {
	schemaLoader := gojsonschema.NewStringLoader(YamlSchema())
	schema, err := gojsonschema.NewSchema(schemaLoader)
	if err != nil {
		log.Errorw("new schema failed", "err", err)
		return false, err
	}
	requestLoader := gojsonschema.NewStringLoader(request)
	result, err := schema.Validate(requestLoader)
	if err != nil {
		log.Errorw("validate failed", "err", err)
		return false, err
	}
	if result.Valid() {
		return true, nil
	} else {
		return false, fmt.Errorf(result.Errors()[0].String())
	}
}