カスタム検証を使用してユーザー名を比較しています。古い値と同じかどうか、または正規表現に合格するかどうかを確認していますが、そうでない場合はエラーをスローします。可能であれば、ビューモデルから UserID を取得するにはどうすればよいですか?
[EmailValidation]
public string Username{ get; set; }
public int UserID { get; set; }
public class EmailValidationAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
User user= User.getUserByID(UserID); //How to get UserID?
string username= value.ToString();
if (user.Username== username || IsValid(username))
{
return ValidationResult.Success;
}
else
{
return new ValidationResult("Error");
}
}