Следующие тесты не работали для Safari:
'noValidate' in document.createElement('form')
и
typeof document.createElement( 'input' ).checkValidity == 'function'
Они сообщают true
, когда *Ожидается 1012 *, поскольку Safari не сообщает о недопустимых полях.
Однако этот тест работает:
'reportValidity' in document.createElement('form')
(не тестировался в IE или Android)
РЕДАКТИРОВАТЬ: Safari проверяет, но не сообщает, что объясняет ответы на эти тесты.Неверные поля можно обнаружить с помощью псевдокласса CSS :invalid
.Комбинация этих тестов может использоваться для проверки того, где браузер не поддерживает проверку, и для отчета, когда браузер не сообщает.