ValidityState: thuộc tính rangeOverflow

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Thuộc tính chỉ đọc rangeOverflow của giao diện ValidityState chỉ ra liệu giá trị của <input>, sau khi đã được người dùng chỉnh sửa, có tuân theo các ràng buộc được đặt bởi thuộc tính max của phần tử hay không.

Nếu trường có tính chất số, bao gồm các kiểu date, month, week, time, datetime-local, numberrange và giá trị max được đặt, nếu giá trị không tuân theo các ràng buộc được đặt bởi giá trị max, thuộc tính rangeOverflow sẽ là true.

Giá trị

Một giá trị boolean là true nếu ValidityState không tuân theo các ràng buộc.

Ví dụ

Đầu vào có tràn số

Ví dụ sau kiểm tra tính hợp lệ của phần tử nhập số. Một ràng buộc đã được thêm bằng cách sử dụng thuộc tính max đặt giá trị tối đa là 18 cho đầu vào. Nếu người dùng nhập số lớn hơn 18, phần tử thất bại xác thực ràng buộc, và các kiểu khớp với :invalid:out-of-range CSS pseudo-classes

css
/* hoặc :invalid */
input:out-of-range {
  outline: red solid 3px;
}
html
<pre id="log">Validation logged here...</pre>
<input type="number" id="age" max="18" />
js
const userInput = document.getElementById("age");
const logElement = document.getElementById("log");

function log(text) {
  logElement.innerText = text;
}

userInput.addEventListener("input", () => {
  userInput.reportValidity();
  if (userInput.validity.rangeOverflow) {
    log("Number is too high!");
  } else {
    log("Input is valid…");
  }
});

Thông số kỹ thuật

Thông số kỹ thuật
HTML
# dom-validitystate-rangeoverflow

Tương thích trình duyệt

Xem thêm