【问题标题】:Asp.Net MVC - JQuery remote validationAsp.Net MVC - JQuery 远程验证
【发布时间】:2010-09-16 17:20:35
【问题描述】:

我得到了以下 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 中写得非常快时才会出现问题。如果我写得很慢,它不会出现。我的猜测是在我打字之间,验证没有时间验证,默认情况下,它显示错误?

无论如何,我可以改变这种行为?

【问题讨论】:

    标签: asp.net jquery asp.net-mvc json jquery-validate


    【解决方案1】:

    您可以在输入时禁用验证,但只能在提交表单之前:

    $('#myForm').validate({
        onfocusout: false,
        onkeyup: false,
        ...
    });
    

    【讨论】:

    • 这行得通,这是一个很好的解决方法,但它禁用了内联验证。如果我找不到其他东西,我会这样做。你知道我在帖子中描述的行为为什么会发生吗?
    猜你喜欢
    • 2017-03-10
    • 2011-12-25
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    相关资源
    最近更新 更多