有没有办法阻止parsley remote(版本2.0)保存已经验证的值?
我知道这对于避免不必要的ajax调用很有用,但我在创建用户时使用它来检查电子邮件是唯一的,并且因为用户是通过ajax添加的,所以会发生这种情况:
1)电子邮件通过验证并创建用户
2)相同的电子邮件再次通过验证,即使现在有用户使用该电子邮件,因为之前的结果已保存
编辑:即使我将[OutputCache(NoStore = true,Duration = 0,VaryByParam =" *")]添加到我的电子邮件验证API(我使用ASP .NET MVC 4),也会发生这种情况。
答案 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