Files
redocly-cli/docs/rules/required-string-property-missing-min-length.md
Lorna Jane Mitchell 0455569a39 Docs: top-level refresh and restructure (#1043)
* docs: Start with a more developer and purpose oriented landing page

* docs: Clear installation options, autocomplete is a separate guide

* docs: update links in installation guide

* docs: Move update instructions to be a guide, remove local installation

* docs: Remove git documentation from starter project

* docs: Add a quicker quickstart

* docs: Re-organise and flesh out commands page

* docs: add built-in ruleset docs, add concept, start guide

* docs: Add a guide for configuring linting

* Docs: rename custom rules to assertions

* docs: Sort assertion docs and examples alphabetically

* docs: clearer linting explanations and signposting of rule types

* Apply suggestions from code review

Co-authored-by: Adam Altman <adam@redoc.ly>

* docs: Remove reference to a  config object, after user confusion

* docs: Add docs-building entrypoint article

* docs: Add one-line descriptions alongside rule names

* fix: Correct images for docs overview page

* docs: Link to custom function in custom plugin docs

* fix: Links in rules need updating after this file moved

* docs: Add concept article for openapi file wrangling

* docs: assertions are now called configurable rules

* fix: Broken links and a renamed file

* docs: Titles, links, and restructuring

* Apply suggestions from code review

Co-authored-by: Adam Altman <adam@redoc.ly>

* fix: Redirect for renamed CLI update guide

* Apply suggestions from code review

Co-authored-by: Adam Altman <adam@redoc.ly>

* chore: reduce filesize of images

* docs: Detangle the custom/configurable rules vs assertions confusion

* fix: labels as well as links to configurable rules

* Update docs/guides/configure-rules.md

Co-authored-by: Adam Altman <adam@redoc.ly>

* fix: Better example wording and fix title case

* Update docs/commands/index.md

Co-authored-by: Adam Altman <adam@redoc.ly>

* Update docs/rules/recommended.md

Co-authored-by: Adam Altman <adam@redoc.ly>

* Update docs/quickstart.md

Co-authored-by: Adam Altman <adam@redoc.ly>

* Update docs/rules.md

Co-authored-by: Adam Altman <adam@redoc.ly>

* chore: rename file built-in-rules.md and corresponding links (#1075)

---------

Co-authored-by: Adam Altman <adam@redoc.ly>
2023-05-10 17:40:59 +01:00

91 lines
2.0 KiB
Markdown

# required-string-property-missing-min-length
Requires that every required property in the API definition with type `string` has a `minLength`.
|OAS|Compatibility|
|---|---|
|2.0|✅|
|3.0|✅|
|3.1|✅|
## API design principles
The `minLength` keyword constrains string values. When a property of type `string` is `required`, defining the `minLength` helps prevent common mistakes, such as empty strings. Use the `minLength` property as a best practice to ensure data integrity and enhances the overall quality of the API.
## Configuration
To configure the rule, add it to the `rules` object in your configuration file.
Set the desired [severity](/docs/cli/rules.md#severity-settings) for the rule.
```yaml
rules:
required-string-property-missing-min-length:
severity: error
```
## Configuration
|Option|Type|Description|
|---|---|---|
|severity|string|Possible values: `off`, `warn`, `error`. Default `off` (in `recommended` configuration). |
An example configuration:
```yaml
rules:
required-string-property-missing-min-length: error
```
## Examples
Given this configuration:
```yaml
rules:
required-string-property-missing-min-length: error
```
Example of an **incorrect** schema:
```yaml Bad example
schemas:
User:
type: object
required:
- name
properties:
name:
description: User name
type: string
```
Example of a **correct** schema:
```yaml Good example
schemas:
User:
type: object
required:
- name
properties:
name:
description: User name
type: string
minLength: 2
```
## Related rules
- [no-invalid-schema-examples](./no-invalid-schema-examples.md)
- [response-contains-property](./response-contains-property.md)
- [Custom rules](./configurable-rules.md)
## Resources
- [Rule source](https://github.com/Redocly/redocly-cli/blob/main/packages/core/src/rules/common/required-string-property-missing-min-length.ts)
- [Schema docs](https://redocly.com/docs/openapi-visual-reference/schemas/)