我有一个具体的需求,需要控制多行文本框(ASP:TextBox)中输入的某些文本。
起初我认为可以只使用JavaScript来控制它,但似乎我无法完全满足我的需求。
现在我想知道是否需要从头开始编写控件(从未尝试过),或者是否可以继承自TextBox并能够获得所需的功能。
要求:
- 多行文本框
- 能够控制行和列
- 希望能够关闭出现在多行文本框上的已禁用的滚动条
- 仍然能够使用验证器
- 自动换行
- 最大长度
- 如果将列设置为26,行设置为4,则用户不应输入超过104个字符 (这是我尚未解决的部分)
- 即使未达到最大长度,用户也不能输入超过4行。
其中限制为4行的部分是我遇到的最大问题。
如果您输入:
a
b
c
d
我可以检查有多少个\n
字符。但是如果您输入:
12345678901234567890123456
7890
c
d
这里它们已经换行了,因此少了一个\n
字符,或者您输入:
This is a long piece of
text that has been entered
c
d
在这里,文本已经自动换行,因此您不能仅仅计算\n
字符。