JQuery Подтвердить плагин v1.10, подтверждающий (требующий) все входы в IE8

Я использую текущую версию jQuery (1.8.3) и последнюю версию проверки jQuery (1.10.0), и кажется, что в Internet Explorer 8 проверка правильности jquery проверяет все входы на форме, являющейся а не только с определенными правилами. Он отлично работает в других браузерах (IE9 +, FF, Chrome), и он отлично работает, если я использую jQuery validate 1.9.0.

Вот пример, демонстрирующий проблему:

<!DOCTYPE html>

<html>
<head>
    <title>IE8 + jQuery Validate 1.10 Test</title>
    <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
    <script type='text/javascript' src='http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js'></script>
</head>
<body>
    <div>
        <form id="my-form">
            <label for="my-required-field">required:</label>
            <input id="my-required-field" type="text" name="reqField" />
            <label for="my-optional-field">optional:</label>
            <input id="my-optional-field" type="text" name="optField" />
            <input id="wh-submit-button" type="submit" value="submit" />
        </form>
    </div>
    <script type="text/javascript">
        $(document).ready(function () {

            var form = $("#my-form");
            var validator = form.validate({
                rules: {
                    "reqField": { required: true }
                },
                messages: {
                    "reqField": { required: "this field is <i>actually</i> required" }
                }
            });

            $("#wh-submit-button").click(function () {
                if (validator.form()) {
                    alert('passed validation');
                }
            });
        });
    </script>
</body>
</html>

В IE8 предупреждение "пройденное подтверждение" не будет срабатывать, а дополнительное поле будет помечено как необходимо.

Если я явно отмечу необязательное поле как не обязательное, оно работает правильно:

rules: {
    "reqField": { required: true },
    "optField": { required: false }
}

Однако, конечно, субоптимально, чтобы отмечать каждый элемент ввода, который не требуется явно как необязательный, и который, как я знаю, никогда не был предыдущим требованием.

Я знаю, что были проблемы с более ранними версиями jquery и jquery validate, но они были якобы решены с помощью jQuery validate 1.8.1 - я поднимаю эту проблему, поскольку она, похоже, связана с последними версиями jquery и validate плагин.

UPDATE:

Таким образом, проблема возникает только для того, чтобы проявляться при использовании инструментов разработчика Internet Explorer F12 для эмуляции поведения IE8. Основываясь на замечании, предполагающем, что фактическая проблема с образцом, который я предоставил в IE8, я построил полную виртуальную машину Windows с подлинной установкой Internet Explorer 8 и, по сути, проблем не было. Несмотря на очевидные различия между эмулятором и реальностью, я никогда раньше не видел такой проблемы с эмуляцией JavaScript и был брошен в результате того, что он внезапно начал происходить с jQuery Validation 1.10.

Поскольку это только проблема с эмуляцией, а не настоящая вещь, здесь нечего решать; и я должен был сообщить, что именно с помощью эмулятора в первую очередь... но, возможно, кто-то другой попадет в ту же ловушку, и это будет полезной ссылкой.

Ответы