我有以下字段:
<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助手的值吗?
答案 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; }
}
如果视图模型具有不同的规则,则它是不同的视图模型。