|
15 | 15 | CONF_MODE, |
16 | 16 | CONF_NAME, |
17 | 17 | CONF_UNIT_OF_MEASUREMENT, |
| 18 | + MAX_LENGTH_STATE_STATE, |
18 | 19 | SERVICE_RELOAD, |
19 | 20 | ) |
20 | 21 | from homeassistant.core import HomeAssistant, ServiceCall, callback |
|
51 | 52 |
|
52 | 53 | STORAGE_FIELDS: VolDictType = { |
53 | 54 | vol.Required(CONF_NAME): vol.All(str, vol.Length(min=1)), |
54 | | - vol.Optional(CONF_MIN, default=CONF_MIN_VALUE): vol.Coerce(int), |
55 | | - vol.Optional(CONF_MAX, default=CONF_MAX_VALUE): vol.Coerce(int), |
| 55 | + vol.Optional(CONF_MIN, default=CONF_MIN_VALUE): vol.All( |
| 56 | + vol.Coerce(int), vol.Range(0, MAX_LENGTH_STATE_STATE) |
| 57 | + ), |
| 58 | + vol.Optional(CONF_MAX, default=CONF_MAX_VALUE): vol.All( |
| 59 | + vol.Coerce(int), vol.Range(1, MAX_LENGTH_STATE_STATE) |
| 60 | + ), |
56 | 61 | vol.Optional(CONF_INITIAL, ""): cv.string, |
57 | 62 | vol.Optional(CONF_ICON): cv.icon, |
58 | 63 | vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string, |
@@ -84,8 +89,12 @@ def _cv_input_text(config: dict[str, Any]) -> dict[str, Any]: |
84 | 89 | lambda value: value or {}, |
85 | 90 | { |
86 | 91 | vol.Optional(CONF_NAME): cv.string, |
87 | | - vol.Optional(CONF_MIN, default=CONF_MIN_VALUE): vol.Coerce(int), |
88 | | - vol.Optional(CONF_MAX, default=CONF_MAX_VALUE): vol.Coerce(int), |
| 92 | + vol.Optional(CONF_MIN, default=CONF_MIN_VALUE): vol.All( |
| 93 | + vol.Coerce(int), vol.Range(0, MAX_LENGTH_STATE_STATE) |
| 94 | + ), |
| 95 | + vol.Optional(CONF_MAX, default=CONF_MAX_VALUE): vol.All( |
| 96 | + vol.Coerce(int), vol.Range(1, MAX_LENGTH_STATE_STATE) |
| 97 | + ), |
89 | 98 | vol.Optional(CONF_INITIAL): cv.string, |
90 | 99 | vol.Optional(CONF_ICON): cv.icon, |
91 | 100 | vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string, |
|
0 commit comments