我是C#的新手并试图在文本框周围进行一些验证。
我正在尝试创建一个智能文本框,限制用户输入任何字母。
我希望文本框可以接受这些输入,并且不允许用户输入任何其他字符
有效
34.54 23 2.3433
无效 ABCF (用户按键但屏幕上应该没有任何内容,即被拒绝)
34.33.443.22
这是我在C#View中的文本框代码
@Html.TextBoxFor(model => model.CreditLimitSaveData.CreditLimit, new { @maxlength = "20", @size = "20" })
由于
答案 0 :(得分:1)
如果您想限制用户输入仅包含数字,句点和空格,请使用以下方式:
<script type="text/javascript">
// if you intend to use vanilla JS rather than jQuery, replace $("#text").keypress with document.getElementById("text").onkeypress
$("#text").keypress(function (evt) {
// keyCode note:
// 46 = delete
// 49-57 = numbers 0-9
// 32 = whitespace
// 190 = period
var code = (evt.which) ? evt.which : evt.keyCode;
// if you want to allow left-right arrow, include checks for keyCode 37 & 39
if (code != 46 && (code < 48 || code > 57) && code != 32 && code != 190) {
return false;
}
else {
return true;
}
});
</script>
@Html.TextBoxFor(model => model.CreditLimitSaveData.CreditLimit, new { @maxlength = "20", @size = "20", @id = "text" }
需要使用id htmlAttribute元素来强制执行验证规则。
CMIIW。
答案 1 :(得分:0)
将属性type
设置为number
以允许int
值。
@Html.TextBoxFor(model => model.CreditLimitSaveData.CreditLimit, new { @maxlength = "20", @size = "20", @type="number" }
maxlength
无法与input type="number"
一起使用,因此您需要一些javascript
来限制此操作。