Я знаю, что в последнее время много спрашивал о jQuery проверке, но я думаю, что моя проблема сейчас сводится к базовым элементам.
Так что, если у меня есть эта страница HTML:
<html>
<head>
<title>validation test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.1/dist/jquery.validate.js"></script>
</head>
<body>
<form id="theform">
<div id="num" name="num">86</div>
</form>
<script type="text/javascript">
var validationObject = {
rules: {
num: {
numtest:true
}
}
};
$.validator.addMethod("numtest", function(value, element) {
return value == 42;
});
$('form').validate(validationObject);
if ($("form").valid())
alert("VALID");
else
alert ("INVALID");
</script>
</body>
</html>
Тогда я ожидаю, что предупреждение будет "INVALID"
, потому что num
равно 86 вместо 42. Но вместо этого я получаю "VALID"
; функция, которую я определил для проверки, не вызывается (я установил точку останова на return value == 42;
, и она никогда не срабатывает). Почему это? Как я могу убедиться, что вызывается функция проверки?