У меня есть usercontrol, который отвечает за представление создания и смены пользователей.Пользовательский контроль привязан к объекту, предоставленному службой RIA:
[MetadataType(typeof(User.UserMetadata))]
public partial class User
{
internal class UserMetadata
{
protected UserMetadata() {}
[Required]
public string Name { get; set; }
[Exclude]
public string PasswordHash { get; set; }
[Exclude]
public int PasswordSalt { get; set; }
[Required]
public string ShortName { get; set; }
[Include]
public IEnumerable<UserRole> UserRoles { get; set; }
}
[DataMember]
[RegularExpression("^.*[^a-zA-Z0-9].*$", ErrorMessageResourceName = "BadPasswordStrength", ErrorMessageResourceType = typeof(ErrorResources))]
[StringLength(25, MinimumLength = 6)]
public string NewPassword { get; set; }
}
При создании нового пользователя поле "NewPassword" обязательно, но при изменении свойств существующего пользователя оно неиспользуется для смены пароля).
Каков наилучший подход для решения этой проблемы?У меня есть несколько идей, но все они кажутся немного глупыми: -)
Спасибо