2012-02-10 12:39, brenton strine wrote:
Regarding the an input with type in the "number" state, the spec states that the "pattern" attribute "must not be specified and do[es] not apply to the element".
That’s because the pattern attribute is for constraining text data using a regular expression.
Why is it specifically blocked? Doesn't that encourage the use of a less semantic "text" input type for numbers that need to be validated beyond simple max and min?
A regular expression, which operates on texts, is not a _logical_ way to set constraints on _numbers_. A number is a mathematical entity; a numeral, such as 2000 or 2.000 or 2,000 or MM, is a textual presentation of a number.
At a more concrete level, type="number" really means type="spinbox", but modern design of markup languages favors names that look more semantic. (If type="checkbox" were invented today, it would probably be called type="boolean".)
What if you want the number to be either 13 or 16 digits long, as with a credit card pattern="(\d{5}([\-]\d{4})?)"
Then you use type="text". Whether the value is a number or just a sequence of digits is debatable. But in any case you don’t want to create a spinbox.
Yucca