2017-04-14 38 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驗證行爲的原因