Asp.Net MVC - удаленная проверка JQuery - PullRequest
0 голосов
/ 16 сентября 2010

Я получил следующий скрипт проверки JQuery:

<script type="text/javascript">
$(document).ready(function() {
    $("#myForm").validate({
        rules: {
            "Content": {
                required: true,
                rangelength: [20, 1000],
                remote: {
                    url: "/RemoteValidation/IsValidContent",
                    timeout: 2000,
                    type: "post"
                }
            }
        },
        messages: {
            "Content": {
                required: "* ...A",
                rangelength: "* ...B",
                remote: "* ...C"
            }
        }
    });
});

И следующий контроллер:

public class RemoteValidationController : Controller
    {
        [HttpPost]
        public virtual JsonResult IsValidContent(MyObject object)
        {    
            return new JsonResult
            {
                Data = true
            };
        }
}

Это только для целей тестирования, всегда возвращает true.

Проблема, которую я получил, заключается в следующем. Я вижу сообщение об ошибке (... C), которое появляется на 1 секунду и исчезает ...

Я не знаю, как это решить ...

Почему это появляется ... это никогда не должно появляться ...

UPDATE

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

В любом случае, я могу изменить это поведение?

1 Ответ

3 голосов
/ 17 сентября 2010

Вы можете отключить проверку при вводе, но только перед отправкой формы:

$('#myForm').validate({
    onfocusout: false,
    onkeyup: false,
    ...
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...