数据注释 - asp.net mvc 4

时间:2012-09-22 09:40:43

标签: asp.net-mvc-4

我是MVC的新手。我制作了一个模型 LoginModel

{
    [Required (ErrorMessage="Username is required field.")]
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required (ErrorMessage="Password is required field.")]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }
}

使用 id =“CustomLogin”及其 action =“User / Validate”为其设计一个表单 并且验证操作会返回 JsonResult

web.config中,

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

在我的 _Layout.cshtml,

@Scripts.Render("~/bundles/jqueryval")

现在,如果我直接点击表单(CustomLogin)的“提交”按钮,那么它阻止我跳转用户/验证,这是正确的..

但是在外部Javascript中说 mycode.js ,我也写了

 $(document).ready(
     function()
     {
          $('#CustomLogin').submit(
            function(e)
            {
               alert ('i executed.');
               //suppose, here i wrote JSON call, it will also be executed
            });
     });

它也被执行了。所以可以...... ??

我的想法是,如果我点击提交按钮,而不传递任何值,

不引人注目的javascript阻止对我的帖子请求“用户/验证”,

的跳跃控制
  

那么它也应该阻止我的提交事件。要解决这个问题,我在提交事件处理程序中使用了 $(“form”)。valid()

像这样,

  if ( $("#CustomLogin").valid() ) 
  {
       alert('I executed.');
  }

我认为Unobstrusive javascript使表单状态:无效或有效......

**指但是,我的问题是我是否需要使用$(“form”)。有效(),然后是什么

  

使用Unobstrusive javascript进行验证...... ???? **

这样可以......或者我做错了

1 个答案:

答案 0 :(得分:0)

因为您的模型无效,并不一定意味着您不想与服务器通信。这只是意味着您不想提交该模型。