2016-03-31 109 views
0

我使用MVC 5,Visual Studio,C#創建一個網頁。該值是無效的,但它應該是一個有效的輸入值

在我看來,我有一個評論頁面,允許用戶在文本框中進行評論,然後單擊「保存」將備註保存到數據庫中。但是,它說的是,當不應該的時候,這個評論的價值是無效的。

的錯誤是

值「測試備註」是無效的

但它應該是有效的

在我的模型,我有一個名爲召回類,它有一個

public string Remark {get; set;} 

在視圖中我有

@using (Html.BeginForm()) 
{ 
    <div class="form-group"> 
    @Html.LabelFor(model=>model.Remark, htmlAttributes: new {@class ="control-label col-md-2"}) 
    <div class="col-md-10"> 
    @Html.TextAreaFor(model => model.Remark, 5, 50, new { @class = "text-danger"}) 
    @Html.validationMessageFor(model => model.Remark, "", new { @class = "text-danger"}) 
    </div> 
    </div> 
    <div class="form-group"> 
    <input type="submit" value="save" class="btn btn-default" /> 
    </div> 
} 

在控制器 .... 不把控制器代碼在這裏,因爲它應該有無關,我發現了錯誤。

+0

首先, 'validationMessageFor'應該有一個大寫的'V'。其次,您的錯誤顯示爲「測試備註」,但您的模型屬性中未顯示任何「DisplayAttribute」。你應該提供所有相關的代碼。 – Jonesopolis

+0

您正在顯示驗證消息,但不包括驗證邏輯。 – beauXjames

回答

1

,如果你使用的是文本區域,您應該使用的數據類型MultilineText:

[DataType(DataType.MultilineText)] 
public string Remark { get; set; } 

或者只是改變TextAreaFor到TextBoxFor如果你不需要多行文字:

@Html.TextBoxFor(model => model.Remark, new { @class = "text-danger"}) 
+0

我拿出來看看效果,我仍然得到了「數值」測試備註'無效'與[DataType(DataType.MultilineText)]錯誤,沒有它 –

+0

顯示完整的模型類代碼。 –

+0

我將不得不在DEV上重新輸入所有內容,並且沒有互聯網訪問權限,對於爲什麼當它被聲明爲字符串並且輸入是文本時會說無效類型有什麼建議 –

相關問題