我正在使用 JQuery 表单插件 ( http://malsup.com/jquery/form/ ) 来处理表单的 ajax 提交。我还插入了 JQuery.Validate ( http://docs.jquery.com/Plugins/Validation ) 以进行客户端验证。
我所看到的是,当我期望验证失败时,它不会阻止表单提交。当我使用传统表单(即非ajax)时,验证失败完全阻止了表单提交......这是我想要的行为。
我知道验证已正确连接,因为在 ajax 提交发生后仍会出现验证消息。
那么我错过了什么阻止了我想要的行为?下面的示例代码......
<form id="searchForm" method="post" action="/User/GetDetails">
<input id="username" name="username" type="text" value="user.name" />
<input id="submit" name="submit" type="submit" value="Search" />
</form>
<div id="detailsView">
</div>
<script type="text/javascript">
var options = {
target: '#detailsView'
};
$('#searchForm').ajaxForm(options);
$('#searchForm').validate({
rules: {
username: {required:true}},
messages: {
username: {required:"Username is a required field."}}
});
</script>