Takes the directory of a model and checks that it is a valid model. Any errors in the model are printed to the screen along with a description of why the model is invalid.

Requires that dotnet is installed.

Command Line Arguments

Required inputs for the publish-cs command (must be specified in order).

  • [CogsLocation]

    The location of the folder containing the model.

Command Line Flags

Optional inputs for the publish-sphinx command.

  • -?|-h|--help

    Displays all possible command arguments and flags for the validate command.

Command Line Usage


$ validate (-h) [CogsLocation]


A few examples of how the command line arguments and flags can be used together.

$ validate -h
$ validate MyCogsModelDirectory

Validation Tests

  • CheckSettingsSlugToEnsureNoSpaces
    Checks if the slug in settings, if provided, is an invalid url containing whitespace.
  • CheckDataTypesMustBeDefined
    Checks if any referenced data types are not defined in the model.
  • CheckDataTypeNamesShouldMatchCase
    Checks if data types differ only by case.
  • CheckDataTypeNamesShouldNotConflictWithBuiltins
    Checks if the model defines data types of the same name as built-in primitive types.
  • CheckDataTypeNamesShouldBePascalCase
    Checks if any item types in the model do not start with a capital letter.
  • CheckDuplicatePropertiesInSameItem
    Checks if an item has more than one property of the same name.
  • CheckReusedPropertyNamesShouldHaveSameDatatype
    Checks if two properties of the same name have different data types in the model.
  • CheckPropertyNamesShouldBePascalCase
    Checks if any property names in the model do not start with a capital letter.
  • CheckAbstractDataTypePropertiesMustAllowSubtypes
    Checks if any referenced data types are abstract, and do not allow subtypes to be used.
  • CheckOrderedCollectionsMustHaveCardinalityGreaterThanOne
    Checks if any properties are ordered that they allow for more than one relationship.