2016-06-13 58 views
0

所以我有這個在我的模型:現場驗證錯誤時立即顯示爲頁面加載,但提交表單後應顯示

[Required] 
public string PasswordLoserFullName { get; set; } 

而在我的@using (Html.BeginForm我使用它是這樣的:

<div class="form-group"> 
     @Html.LabelFor(m => m.PasswordLoserFullName, "Name", new { @class = "control-label col-xs-2" }) 
     <div class="col-xs-6"> 
      @Html.TextBoxFor(m => m.PasswordLoserFullName, new { @class = "form-control"}) 
      @Html.ValidationMessageFor(m => m.PasswordLoserFullName) 
     </div> 
    </div> 

問題是一旦頁面加載,它顯示錯誤信息。嗯,剛剛加載的表單,沒有人輸入任何內容。我希望它在用戶點擊提交按鈕時顯示。不是一旦頁面加載。

這是什麼,我做錯了?

+0

渲染這個視圖的動作方法是什麼樣的,你試過了什麼? – CodeCaster

+0

請參閱[MVC Razor驗證錯誤顯示在頁面加載時沒有數據發佈](http://stackoverflow.com/questions/21296281/mvc-razor-validation-errors-showing-on-page-load-when-no - 數據已發佈),[Html.ValidationSummary(假,「消息」)始終顯示,即使在頁面加載](http://stackoverflow.com/questions/4166997/html-validationsummaryfalse-message-is即使在頁面上加載),[頁面加載時顯示驗證消息](http://stackoverflow.com/questions/5347827/validation-messages-are-displayed-when-page-load)等等。 – CodeCaster

+0

在您的GET方法中沒有參數,這是模型。如果您需要將值傳遞給GET方法,請使用「string」等參數,然後使用GET方法中的值初始化模型。 –

回答

1

我希望它顯示當用戶點擊提交按鈕。頁面加載後不會立即加載 。

然後,這是一個GET方法被調用,get方法根本不傳遞模型,只是顯示頁面。對於POST方法傳遞模型並執行驗證。

+0

嗯好吧,我明白你在說什麼。但即使在GET方法的一部分,對於要加載的請求密碼錶單,我仍然有一些字段顯示來自模型的值,所以必須傳遞模型,現在我在該字段中爲該字段添加了一些虛擬值加載頁面,但仍然顯示錯誤。 – Bohn

+0

@Bohn,使用'[RequiredValidation]'屬性並將其設置爲'false',因爲'GET'方法實際上並不需要驗證。 – Rahul

+0

嗯,我添加到該屬性的頂部,它說找不到這樣的事情:([RequiredValidation = false],你如何使用它? – Bohn

相關問題