[英]Client side validation in asp.net mvc3
我正在将asp.net mvc3与jquery ajax方法一起用于我的项目。 我已经能够验证输入,但是如果我单击“发布”按钮,则即使表单包含无效数据也将发布数据。 我知道可以使用提交按钮解决此问题。 但是我想使用我的jquery方法。 我一直在使用asp.net mvc3客户端验证。 这是我的代码,用于发布表单中的数据。
//jQuery
function PostForm(Url, FormID, Title) {
var dataTOPost = '#' + FormID; // Id of particular form to post
$.ajax({
url: Url,
type: 'POST',
data: $(dataTOPost).serialize(),
beforeSend: function () {
//display some loading pics
}
}).done(function (result) {
//if success do something
});
}
我使用它如下
<a onclick="PostForm('someurl','myform', 'Title of dialog');" >Submit</a>
这是正在验证的表单部分的屏幕截图。 即使表单包含无效数据,该表单也会被过帐。 我该如何解决。 谢谢。
您必须解析表单以使用以下方法进行验证:
$.validator.unobtrusive.parse($(form));
然后询问是否有效:
$(form).valid();
例如:
function PostForm(Url, FormID, Title) {
var dataTOPost = '#' + FormID; // Id of particular form to post
$.validator.unobtrusive.parse($(dataTOPost));
if ($(dataTOPost).valid()){
$.ajax({
url: Url,
type: 'POST',
data: $(dataTOPost).serialize(),
beforeSend: function () {
//display some loading pics
},
done: function (result) {
//if success do something
}});
}else{
console.log("invalid form");
}
}
$("a").click(function(event) {
//cancel submit click
event.preventDefault();
//check errors
...
//Post your form
PostForm('someurl','myform', 'Title of dialog');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.