我正在setCustomValidity
input
元素上尝试使用当地语言。
最终input.checkValidity()' or 'input.validity.valid
始终为false
代码:
$(document).ready(function() {
$('#signup-form *').filter(':input:not([type=hidden])').each(function() {
var $element = this;
switch($element.id) {
case 'email':
$element.setCustomValidity('some msg1');
break;
case 'password':
$element.setCustomValidity('some msg2');
break;
case 'confirmPassword':
$element.setCustomValidity('some msg3');
break;
default:
$element.setCustomValidity('some msg4');
break;
}
});
document.addEventListener('input', function(e){
e.preventDefault();
var $input = e.target;
if (!$.nodeName(input, 'input')) return;
var $element = $(input).parent();
var $_e = $element.context.id;
if($input.checkValidity()) {
$element.removeClass('invalid');
$element.parent().removeClass('invalid');
} else {
$element.addClass('invalid');
$element.parent().removeClass('invalid');
}
}, false);
}
更新
发现此OS answer在我的问题中很有用......