テキストボックスでtype=numberを指定し、数値のみ入力を制限すると、maxlengthのattributeが効かなくなる。これは仕様とのこと。(type=textでは問題なし)
maxやminでバリデーションはかけられるが、入力時の文字数制限はできない。
JavaScriptを使用し、入力を制限する。
<input name="sample"
type = "number"
oninput="javascript:if(this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"
maxlength="2"
/>