When I define a numeric field with a MAXIMUM or MINIMUM, those restrictions are a part of validation, but do not propagate into the HTML. For example, consider the following field (set in CommunityConfigurationExample::ExampleSchema for demonstration purposes):
public const CCExampleNumber = [ self::TYPE => self::TYPE_INTEGER, self::DEFAULT => 0, self::MINIMUM => 0, self::MAXIMUM => 5, ];
Then, Special:CommunityConfiguration does not allow the user to get over 5 (as expected), but it does allow them to get below 0 (which is not expected). This is shown at the screen recording below:
This appears to happen, because NumberControl.vue uses :min="control.schema.minimum || null" to set the min HTML attribute, and 0 || null evaluates to null in JavaScript.



