0

我有以下领域:

<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>

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

4

1 回答 1

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; }
}

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

于 2012-05-09T21:00:38.963 回答