我想將我的模型中的某個屬性的值傳遞給我的數據註釋以驗證我的密碼屬性,但我不知道如何實現此目的。ASP.NET MVC-將模型值傳遞給數據註釋參數
an attribute argument must be a constant expression typeof expression or array
我的模型:
public class LoginModel
{
public string Voornaam { get; set; }
public string Achternaam { get; set; }
public string Gebruikersnaam { get; set; }
[Password(AttributeVoornaam = this.Voornaam, AttributeAchternaam = this.Achternaam, AttributeGebruikersnaam = this.Gebruikersnaam)]
public string Wachtwoord { get; set; }
}
而在我的數據註解我這樣做:
public class PasswordAttribute : ValidationAttribute
{
public string AttributeVoornaam { get; set; }
public string AttributeAchternaam { get; set; }
public string AttributeGebruikersnaam { get; set; }
public override bool IsValid(object value)
{
string strValue = value.ToString();
if (strValue.Contains(AttributeVoornaam.ToLower()) || strValue.Contains(AttributeAchternaam.ToLower()) ||
strValue.Contains(AttributeGebruikersnaam.ToLower()))
{
ErrorMessage = "Uw wachtwoord mag niet uw voornaam, achternaam of gebruikersnaam bevatten.";
return false;
}
else
{
return true;
}
}
}
這工作得很好,我對一些小的調整,謝謝! – Jamie
爲什麼你返回布爾值而不是'ValidationResult's? – muttley91