欧芹远程 - 防止保存经过验证的值

时间:2014-05-15 09:50:20

标签: jquery validation parsley.js

有没有办法阻止parsley remote(版本2.0)保存已经验证的值?

我知道这对于避免不必要的ajax调用很有用,但我在创建用户时使用它来检查电子邮件是唯一的,并且因为用户是通过ajax添加的,所以会发生这种情况:

1)电子邮件通过验证并创建用户

2)相同的电子邮件再次通过验证,即使现在有用户使用该电子邮件,因为之前的结果已保存

编辑:即使我将[OutputCache(NoStore = true,Duration = 0,VaryByParam =" *")]添加到我的电子邮件验证API(我使用ASP .NET MVC 4),也会发生这种情况。

1 个答案:

答案 0 :(得分:0)

设法使用:

    $(document).ready(function () {
        $('#Submit').click(function (e) {
            e.preventDefault();
            $("#Form").parsley().asyncValidate()
                .done(function () {
                    console.log("validation success");
                    //$('#Form').parsley().destroy(); // this is the trick, works with either
                    $('#User').parsley().destroy();

                })
                .fail(function () {
                    console.log("validation failed");
                });
        });
    });

我的html是

    <form id="Form" data-parsley-validate>
    <input type='text'
           data-parsley-required="true"
           data-parsley-remote='http://echo.jsontest.com/key/value'
           id='User'
           name='User' /><br/>
    <input type='text'
           data-parsley-required='true'
           id='Email'
           name='Email' /><br/>
    <input type='submit'
           id='Submit'
           name='Submit' />
</form>

另一个家伙也为类似的问题找到了相同的解决方案:Parsley.js Submit form not working when using addAsyncValidator and remote