如何在Asp.net MVC 3中手动验证客户端?

时间:2011-03-27 02:40:05

标签: asp.net-mvc

我想在单击客户端按钮时验证表单,我尝试了一些方法,但都失败了,请帮忙吗? 源代码:

@model MvcTest.Models.Movie
@{
    ViewBag.Title = "Home Page";
    Html.EnableClientValidation(true);
}
<script src="../../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
@using (Html.BeginForm("TestValidate", "Home", FormMethod.Post, new { id = "tf" }))
{
    @Html.LabelFor(m => m.Title)
    @Html.EditorFor(m => m.Title)
    @Html.ValidationMessageFor(m => m.Title)
}
<a onclick="test(event)" href="#">
<script type="text/javascript">
    function test() {
          //How to write here?
    }
</script>

namespace MvcTest.Models
{
    public class Movie
    {
        public int ID { get; set; }

        [Required(ErrorMessage = "Error Message Test,I want you")]
        public string Title { get; set; }    
    }
    public class MovieDBContext : DbContext { 
        public DbSet<Movie> Movies { get; set; } 
    }
}

我调用了有效但是,它始终警告对象表单不支持此方法“validate()”

$(document).ready(function () {

        $("#myform").validate();
        $("test").click(function() {
          alert("Valid: " + $("#myform").valid());
          return false;
        });
  });

我有这样的导入js:

<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.delegate.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>

或者这些:

<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

1 个答案:

答案 0 :(得分:0)

您正在寻找valid method