下面的html代码只接受数字作为输入,但我注意到在某些情况下随机它也接受字符,类似数字和输入退格的场景,然后键入字符,它接受字母。
<input type="number" class="form-control" name="digitalId" ng-model="data.digitalId" placeholder="digits can only be entered"> </div>
当用户提交表单时,上面的字段值存储在其列为integer类型的数据库中。但是当它接受字符并提交表单时,它会在屏幕上显示错误消息,但消息是详细消息,其中说明了DTO对象和属性类型。我想将自定义消息显示为&#34;只允许使用数字&#34;当用户提交表单时,字段中包含一些字符。任何建议都会有所帮助。
答案 0 :(得分:0)
这是基于纯JavaScript的,因此它可以与角度一起使用,而不使用jquery
function validate(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode( key );
var regex = /[0-9]|\./;
if( !regex.test(key) ) {
theEvent.returnValue = false;
if(theEvent.preventDefault) {
console.log("only numbers allowed");
theEvent.preventDefault();
}
}
}
&#13;
<input type="number" class="form-control" name="digitalId" ng-model="data.digitalId" placeholder="digits can only be entered" onkeypress="validate(event)"> </div>
&#13;