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

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 に答える