2012-01-13 7 views
6

私はRazorでMVC3を使用しています。@ Html.TextBoxForテキストボックスが検証に失敗した後にハイライト表示されない

  1. @Html.TextBoxFor
  2. @Html.TextAreaFor

どちらも必要としていたフィールド検証:入力のために私はコントロールの2種類があります。 @Html.TextAreaForは、妥当性検査が失敗した場合はボックスをハイライトし、@Html.TextBoxForとは一致しません。ここで

私のコード

HTMLです:テキストボックスは、その検証が失敗したときにhightlightedない@Html.TextBoxForを使用して作成されたのはなぜ

[Required(ErrorMessage = "First Name is required")] 
public string FirstName { get; set; } 

@Html.TextBoxFor(m => m.FirstName) 

がモデル?

+0

@ Html.TextBoxFor – user1148365

+1

が有効かどうかではありませんが

@Html.ValidationMessageFor(m => m.FirstName) 

を使用して確実に*ハイライト*?強調表示されていない場合は、おそらくCSSの問題です。 –

+0

検証中ですが、強調表示はしていません。 CSS?私はどこを見なければならない? 私は確信していません、他の2つだけ - DropDownListForとTextAreaForは検証が失敗した後に赤いボックスを表示しますが、私が望む "TextBoxFor"は表示しません。 – user1148365

答えて

-1

クライアント側の検証を行うには、ビューに_Layout.cshtmlビューまたは直接ビューを使用するかどうかにかかわらず、必要なスクリプトが含まれていることを確認する必要があります。これを一番上に置きます。

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

パスとスクリプト名が正しいことを確認してください。これにより、クライアント側の検証(テキストボックスの強調表示)を利用できます。

+0

私はそれらを上の_Layout.cshtmlに持っています。私は彼らも私の考えを入れてみました。運がない。 – user1148365

+0

その必要はありません。 – UMAR

7

これらの入力フィールドに割り当てる変数がモデルクラスで[必須]であることを確認してください。また、「クリーンアップ」プロセスでCSSを削除しましたか?そこにない場合は、これを追加してみてください。コントローラで

:ビューでModelState.AddModelError("ErrorEmail", "Error Message");

テキストボックスまたは任意の他のフィールドの検証を上げるためには

は、あなただけのこれらの2行を必要とする:

.field-validation-error 
{ 
color: #ff0000; 
} 
.field-validation-valid 
{ 
display: none; 
} 
.input-validation-error 
{ 
border: 1px solid #ff0000; 
background-color: #ffeeee; 
} 
.validation-summary-errors 
{ 
font-weight: bold; 
color: #ff0000; 
} 
.validation-summary-valid 
{ 
display: none; 
} 
1

今日は同じ問題に直面していました: @Html.ValidationMessage("ErrorEmail")

web.config

<appSettings> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 

それは私自身のウェブサイトのCSSを使用した検証のCSSを上書きしたので、それがテキストボックスの周りに赤い枠が表示されないた理由です。検証エラーのスタイルの重要な解決私の問題作る

input.input-validation-error { 
    border: 1px solid #e80c4d !important; 
} 
+0

私のvalidation.cssはブートストラップによって無効にされていました。 !重要な問題を修正しました。 – ADH

0

は.input検証エラーと.input.input検証エラークラスの両方を追加します。

3

私自身がこの問題を抱えていました。 Site.cssファイル(または好みのスタイルシート)に新しいCSSクラスを追加しました。

textarea.input-validation-error { 
border: 1px solid #e80c4d; 
} 
0

が、私はこれが古いですけど、場合には他の誰がこれを検索して、あなたもあなたのテキストボックスの後

関連する問題