chút HTML5 trường mật khẩu này hoạt động hoàn hảo KHÔNG thuộc tính oninvalid (mô hình nói: tối thiểu 6 ký tự):HTML5: Tại sao thuộc tính "oninvalid" của tôi cho phép mẫu bị lỗi?
<form>
<input type="password" name="user_password_new" pattern=".{6,}" required />
<input type="submit" name="register" value="Register" />
</form>
Xem jsFiddle here.
Nhưng khi tôi thêm một thuộc tính oninvalid đó đưa ra một thông báo lỗi tùy chỉnh khi đầu vào của người dùng không phù hợp với những mô hình, toàn bộ lĩnh vực KHÔNG BAO GIỜ có hiệu lực, xem mã ở đây:
<form>
<input type="password" name="user_password_new" pattern=".{6,}" oninvalid="setCustomValidity('Minimum length is 6 characters')" required />
<input type="submit" name="register" value="Register" />
</form>
Xem jsFiddle here .
Bạn có thể phát hiện ra lỗi không?
Bạn Sir, là anh hùng của tôi! Câu trả lời hoàn hảo. Cảm ơn rất nhiều! – Sliq
Một lời giải thích tốt. Một giải pháp đơn giản hơn cho vấn đề là xóa thuộc tính 'oninvalid' và sử dụng thuộc tính' value' thay vì chứa một giải thích ngắn về định dạng dữ liệu dự kiến. Đây là cách được khuyến nghị trong HTML5 CR. Thuộc tính 'value =" Độ dài tối thiểu là 6 ký tự "' sẽ hoạt động cả khi làm rõ thông báo lỗi và dưới dạng chú giải công cụ khi di chuột qua. –
@JukkaK.Korpela: Tôi nghĩ bạn có nghĩa là thuộc tính 'title'. –