javascript - HTML 用户输入类型限制
问题描述
限制:
无法输入负数、十进制数、数字 < 2 和数字 > 99
到目前为止,我有:
<input required type="number" min="2" max="99" oninput="this.value = Math.abs(this.value)" maxLength="2" matInput value="{{element[col]}}" [(ngModel)]="element[col]">
它限制用户只能输入负数。
我可以用函数验证,但我需要限制输入。
请分享一些想法,因为我是第一次编程前端。
解决方案
我认为您正在寻找的解决方案是:
<input required type="number" min="2" max="99" oninput="validity.valid||(value='');" maxLength="2" matInput value="{{element[col]}}" [(ngModel)]="element[col]">
但我猜它会丢失之前的输入。为此,您需要在组件中维护一个状态变量并恢复之前的值。
推荐阅读
- android - 如何在 Android 10 中检测全屏手势
- spring-boot - 如何从 Spring 中生成的 OpenAPI 文档中排除“服务器”部分?
- flutter - [Flutter/Riverpod].future 和 .value 的区别
- spring-boot - azure sdk java + Azure Kubernetes 集群 + Spring Boot 应用程序 + 系统分配的托管标识
- javascript - 如果我们在给定数组上找到它,我想改变它的颜色
- django - FileNotFoundError:[Errno 2] 没有这样的文件或目录:“自动重启”
- python - 如何更改 docx 保存格式中的文本?
- c - 程序收到信号 SIGFPE,在 C 中使用模数时出现算术异常
- sql - MS Access - 计算多列中单词的出现次数
- azure-active-directory - 使用 MS Graph SDK - Java 向客户端应用程序添加应用程序权限