2017-04-14 36 views
-1

有一些视图模型:如何防止立即触发jQuery验证?

class MyViewModel 
{ 
    [Required(ErrorMessage = "Field {0} is required")] 
    public string Email { get; set; } 
} 

我使用的前端jQuery验证:

<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.16.0/jquery.validate.min.js"> 
</script> 
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.6/jquery.validate.unobtrusive.min.js"> 
</script> 

剃刀标记的片段:

<form asp-controller="Account" asp-action="Register" role="form"> 
     <div class="form-group"> 
      <div asp-validation-summary="All" class="text-danger"></div> 
     </div> 
     <div class="form-group"> 
      <label asp-for="Email"></label> 
      <input asp-for="Email" class="form-control" aria-describedby="email" /> 
      <span asp-validation-for="Email" class="text-danger"></span> 
     </div> 
</form> 

的问题是验证立即触发当用户获取html页面时。所以当她没有输入任何内容时(电子邮件是必需的),可以看到电子邮件字段的错误。我怎样才能防止这种行为(触发提交)?

+0

这不是正常的行为,它不是任何可以用你发布的代码来解释的东西。其他东西必须触发它。 – Sparky

回答

0

有动作:

public IActionResult SomeAction(MyViewModel model = null) 
{ 
    return View(model); 
} 

即控制器传递给动作空模型(默认值)。这是jQuery验证行为的原因