2012-05-01 8 views
1

1つのテキストボックスがあるビューを作成しました。そのフィールドボックスに必要なフィールドの検証を入れたいと思います。Asp.Net MVC3必要なフィールドの有効化

@Html.TextBox("txtFirst", "", htmlAttributes: new {@maxlength="9"}) 
+0

あなたがドメインで検証を求めています組み込まれるべき物体? – MikeTWebb

+0

これはやっている方法ではありません。 jQueryの検証プラグインを使用する方法を学ぶ必要があります – gdoron

+0

asp.netで必要なフィールドバリデーターのようなものはありません。このフィールドはどのモデルでもマップされていないので使用できません私のアプリケーション – jats

答えて

3

まず私はMVCで検証を行うための最善の方法は、データ注釈は、これと同じようにモデルのプロパティ上記の属性置くことであると言わなければならない:

[Required] 
[StringLength(9)] 
public string Foo {get; set;} 

// This will force the validation in the client side. 
@Html.TextBoxFor(m => m.Foo); 

良いこと、このアプローチでは(クライアント側とサーバー側の両方で動作するという点を除いて、通常は書き込みが少ない)。

あなたには、いくつかの理由でビューではなくModelで検証を行いたい場合は、あなたは、単にテキストボックスにrequiredクラスを追加する必要があります。

@Html.TextBox("txtFirst", "", htmlAttributes: new {@class = "required", maxlength="9"}) 
+0

これはすべてクライアント側の検証です。クライアント側は引き続きバイパスすることができ、サーバー側の検証が適切でない場合、データの完全性の問題があります。 –

+0

Hy、上の問題が解決しましたが、 @ Html.TextBox( "txtFirst"、 ""、htmlAttributes:new {@class = "required email"、maxlength = "9"})このフィールドは必須です。問題が、私は別の検証メッセージを表示することができません、それは、ユーザーが値を入力していない場合は、エラーメッセージが表示されます電子メールアドレスと間違った電子メールアドレスを入力してください意味する有効なemail.pleaseを入力してください私はしたくないそのためのモデルを使用して、私はビューのみを使用したい – jats

+0

@ jats。新しいスレッドでそれを尋ねてください。そうすれば、私や他の誰かがあなたを喜んで助けてくれるでしょう。このスレッドにリンクを追加すると、問題がより明確になるのを助けることができると思われる場合は追加できます。 – gdoron

関連する問題