2016-03-31 54 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上重新输入所有内容,并且没有互联网访问权限,对于为什么当它被声明为字符串并且输入是文本时会说无效类型有什么建议 –

相关问题