我得到了以下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秒钟,然后消失...
我不知道如何解决......
为什么它出现......它永远不会出现......
如果我在textarea中写得非常快,那么问题就出现了。如果我慢慢写,它就不会出现。我的猜测是在我输入之间,验证没有时间验证,默认情况下,它显示错误?
无论如何,我可以改变这种行为吗?
答案 0 :(得分:3)
您可以在输入时禁用验证,但仅在提交表单之前:
$('#myForm').validate({
onfocusout: false,
onkeyup: false,
...
});