目標
指定されたプロパティのみをモデルからビューに送信します。
シナリオ
しばらく前に、私のUser
モデルは次のとおりでした。
public int Id { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Password { get; set; }
Id
ユーザーには、 、Email
よりも多くのプロパティがありますがPassword
、それまでは使用していませんでした。このモデルの独自の提案は、アプリケーションで誰かを認証することだったからです。
時間が経ち、アプリケーションに新しいユーザーを追加する必要があります。これを行うために、User
のモデルを次のように拡張しました。
public int Id { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Password { get; set; }
[Required]
public string Firstname { get; set; }
[Required]
public string Lastname { get; set; }
それ以来、ログインできなくなりました —の代わりにModelState.IsValid
me を返します。False
True
問題は明らかだと思います: andはFirstname
プロパティLastname
でRequired
あり、何も送信していません。
問題
上記のシナリオに基づいて、私は尋ねなければなりません:異なる提案に同じモデルを使用する方法はありますか? または、必要に応じて、同じモデルを 2 回使用する方法はありますか? つまり、ユーザーの作成とユーザーの認証には同じモデルが必要であり、以前と同じようにIsValid
プロパティの値を取得する必要があります。true