我正在使用自定义验证比较用户名。我正在检查它是否与旧值相同,或者它是否通过了正则表达式是可以接受的,但如果不是则抛出错误。如果可能,我如何从视图模型中获取用户 ID?
[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");
}
}