2010-12-06 20 views
20

ASP.Net MVC 3 RC、レイザーAsp.net MVC 3 RC - レイザーValidationMessageFor CUSTOMMESSAGEとClientSideValidation問題

は、私はカスタムメッセージを使用しようとすると、いくつかの予期しない動作を体験し、クライアント側の検証を使用しました。問題は、エラーがなくてもカスタムメッセージを常に表示することです。

だから、FirstNameがRequiredに設定されているクライアントモデルがあります。次のコードがある場合は、Submitをクリックして期待どおりに動作するまで検証メッセージは表示されません。

@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName) 

しかし、今、私はそうのようにアスタリスクを使用するために、検証メッセージをカスタマイズしたいと言う:

@Html.EditorFor(model => model.Client.FirstName) @Html.ValidationMessageFor(model => model.Client.FirstName, "*") 

は、今私は、送信ボタンをクリックする前であっても、フィールドの横にアスタリスクが常にあります。

予想される動作では、検証エラーが発生した場合にアスタリスクが表示されます。

ありがとうございました。

答えて

25

私は問題を発見したが、以下のCSSが必要とされている:私のリファクタリングこれらのクラスに沿ってどこか

.field-validation-valid 
{ 
    display: none; 
} 
.validation-summary-valid 
{ 
    display: none; 
} 

を取り出してしまいました。新しいMVC 3プロジェクトを開始すると、デフォルトでそこに配置されます。将来誰かを助けることを願っています!

+4

これは、私がこれを見たまでに私の検証がなぜ表示されていたのか理解できなかった、ありがとう! – mikelomaxxx14

+1

ええと、魅力のように動作します。ありがとうございました。 –

1

選択された回答は私のためには機能しませんでした。私は以下を使用しなければならなかった。クラスは「エラー」であり、「有効」ではないことに注意してください。これにより、ページ読み込み時に表示される検証メッセージが非表示になります。

<style> 
.field-validation-error 
{ 
    display: none; 
} 
.validation-summary-valid 
{ 
    display: none; 
} 

</style> 
関連する問題