[英]JavaScript input validation - unexpected results
我有这个事件监听器 function
document.addEventListener('input', function (e) {
if (e.target.classList.contains('mileage-validation')) {
if (document.getElementById('warningMileage').value > document.getElementById('scheduledMileage').value) {
document.getElementById('mileageError').classList.toggle('hidden');
}
else {
document.getElementById('mileageError').classList.toggle('hidden');
}
}
})
在 razor 视图中使用以下标记
<li>@Html.LabelFor(m => m.Maintenance.ScheduledMileage) @Html.EditorFor(m => m.Maintenance.ScheduledMileage, new { htmlAttributes = new { @class = "form-control mileage-validation", id = "scheduledMileage" } })</li>
<li>@Html.ValidationMessageFor(m => m.Maintenance.ScheduledMileage, null, new { @class = "validation-error" })</li>
<li>@Html.LabelFor(m => m.Maintenance.WarningMileage) @Html.EditorFor(m => m.Maintenance.WarningMileage, new { htmlAttributes = new { @class = "form-control mileage-validation", id = "warningMileage" } })</li>
<li>
@Html.ValidationMessageFor(m => m.Maintenance.WarningMileage, null, new { @class = "validation-error" })
<span class="validation-error hidden" id="mileageError">Warning Mileage should be less than Scheduled Mileage.</span>
</li>
在用户提交之前,我试图在前端验证 WarningMileage 值是否小于 ScheduledMileage 值(如果为 false 则显示错误)。
测试- 在 Scheduled Mileage 字段中输入 10,在 Warning Mileage 字段中输入 0结果- 显示错误
错误的
测试- 在 Warning Mileage 字段中输入 9,在 Scheduled Mileage 字段中输入 10结果- 错误被隐藏
正确的
测试- Go 返回 Scheduled Mileage 字段并将值增加到 11结果- 显示错误(但警告里程小于预定里程!)
错误的
希望这是有道理的,毫无疑问这是愚蠢的。 提前致谢!
在这里找到答案javascript “小于”如果语句失败“您可以简单地对值执行 parseInt/parseFloat”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.