Jquery Mobile Validation - позиция ошибки и выбирает

Я добавил bassistance jQuery валидацию в форму в моем проекте jQuery Mobile. Он отлично работает, за исключением ошибок, которые отображаются внутри текстовых входов, а не под ними. Я знаю, что могу использовать errorPlacement, чтобы использовать div ниже моих входов для вывода сообщений об ошибках, но это не такКажется, не работает для некоторых меню.

Итак, у меня есть 2 вопроса:

Есть ли что-то, что я могу сделать по-другому, чтобы сообщения об ошибках отображались под входами без использования errorPlacement?Как я могу получить сообщения об ошибках, которые будут отображаться в некоторых меню, если мне придется использовать errorPlacement?

Вот мой код:


    $('#page').bind('pageinit', function(event) {
        $('#registrationForm').validate({
            rules: {
                firstname: {
                    required: true
                },
                lastname: {
                    required: true
                },
                email: {
                    required: true,
                    email: true,
                    remote: "duplicateCheck.php"
                },
                password: {
                    required: true,
                    minlength: 5
                },
                verify_password: {
                    required: true,
                    minlength: 5,
                    equalTo: "#password"
                },
                handicap: {
                    required: true,
                    maxlength: 2,
                    digits: true
                },
                stopper: {
                    required: true
                }
            },
            messages: {
                firstname: {
                    required: "Please enter your first name."
                },
                lastname: {
                    required: "Please enter your last name."
                },
                email: {
                    required: "Please enter your email.",
                    email: "Please enter a valid email.",
                },
                password: {
                    required: "Please enter a password.",
                    minlength: "You password must be at least 5 characters long."
                },
                verify_password: {
                    required: "Please enter a password.",
                    minlength: "You password must be at least 5 characters long.",
                    equalTo: "You passwords did not match."
                },
                handicap: {
                    required: "Please enter your handicap.",
                    maxlength: "Your max handicap can't be higher than 99.",
                    digits: "Please only enter numbers."
                },
                stopper: {
                    required: "Please enter the word above."
                }
            },
            errorPlacement: function(error, element) {
                error.appendTo( element.parent().next() );
            }
        });
    });

И вот моя ошибка CSS:

label.error {
    color: red;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.4;
    margin-top: 0.5em;
    width: 100%;
    float: none;
}

@media screen and (orientation: portrait){
    label.error {
        margin-left: 0;
        display: block;
    }
}

@media screen and (orientation: landscape){
    label.error {
        display: inline-block;
        margin-left: 22%;
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос