使用Html Helper验证字段

时间:2012-05-09 19:01:16

标签: asp.net-mvc-3 razor

我有以下字段:

<div class="editor-label">
    @Html.LabelFor(c => c.Title)
</div>
<div class="editor-field">
    @Html.TextBoxFor(c => c.Title)
</div>
<p>
    <input type="submit" value="Create" />
</p>

我想确保提交标题中有值。我知道你可以通过在Model上添加一个必需的属性来做到这一点,但我不想在模型中添加必需的属性。我可以验证只需要使用Html助手的值吗?

1 个答案:

答案 0 :(得分:4)

取自Manually validate textbox with jQuery unobtrusive validation asp.net MVC3你可以用jQuery做点什么

$('#Title').rules('add', {
     required: true,
     messages: {
        required: 'The title field is required.'
     }
});

但是手动将标签插入到html中只是添加了客户端验证。我认为最好对您的实际视图模型进行某种验证。我不认为这样做太过分了。

public class BaseViewModel
{
    //...
}

public class ViewModel1 : BaseViewModel
{
    [Required]
    public string Title { get; set; }
}

public class ViewModel2 : BaseViewModel
{
    public string Title { get; set; }
}

如果视图模型具有不同的规则,则它是不同的视图模型。