最近弄了個東西,寫了一堆判斷發現還是有人會填進奇怪的東西。後來發現是Safari不支援pattern跟required。pattern填錯就算了,required不填倒是比較困擾啊。找了一下網路上解決方案。
var form = document.getElementById('formID'); // form has to have ID: <form id="formID"> form.noValidate = true; form.addEventListener('submit', function(event) { // listen for form submitting if (!event.target.checkValidity()) { event.preventDefault(); // dismiss the default functionality alert('Please, fill the form'); // error message } }, false);
文章內有使用不同方式的錯誤訊息,但我覺得用alert就夠了。
來源:Required Attribute Not work in Safari Browser