私はmvc3アプリケーションで作業しており、検証がうまく動くようにいくつかの問題があります。バディクラスを使用しているときのmvc3検証
アプリケーションは、モデルにバディークラスを使用しています。 (これは過去に使用していなかったものですが、私はちょっと混乱しています...とにかく使用されています)
データが正しく送信されるようにするために必要なフィールドを追加します。私はバディクラスに必要なフィールドを追加しようとしました。
フォームを送信すると、クライアント側の検証は行われず、デバッガはエンティティフレームワーク生成コードにステップインします。ここでは、null値を含むフィールドが無効であるという不満があります。それらのすべてをステップ実行すれば、最終的にコントローラに到達し、if(ModelState.IsValid)がfalseを示しています。
クライアント側の検証が有効になっています。
私はバディー・クラス・レベルまたはビュー・モデルでデータ検証を適用する予定ですか?
もう1つの質問はバディークラスを使用する理由です。私には彼らは物事を複雑にするようです。
更新は
[MetadataType(typeof (CustomerMetaData))]
public partial class Customer
{
public string Priorty
{
get
{
var desc = (Priority) Priority;
return desc.ToString().Replace('_', ' ');
}
}
internal class CustomerMetaData
{
[Required]
[DisplayName("Priorty")]
public string Priorty { get; set; }
こんにちはAmitさん、ありがとうございました。私は使用されているものの例を使って投稿を更新しました。 –
他のものがすべて正しく整列されていることを確認するには、クラス(およびビュー)にintフィールドを追加して、MVCがそれをスローしてエラーになるかどうかを確認します。そうでない場合は、検証自体に問題があります。 –