У меня есть класс, настроенный для хранения значений в форме регистрации (VB.NET, MVC), и среди свойств есть свойство Password:
Public Class RegisterModel
...
Private _password As String
<DisplayName("Password:"), Required(), ValidatePasswordLength(), DataType(DataType.Password)> _
Public Property Password() As String
Get
Return _password
End Get
Set(ByVal value As String)
_password = value
End Set
End Property
Это прекрасно работает при регистрации нового пользователя, но я бы хотел использовать тот же класс для обновления существующих пользователей. (Примечание: это приложение запускается администратором, который отвечает за регистрацию физических лиц и назначение паролей.) Я бы хотел, чтобы он вел себя так: если администратор оставляет пароль пустым, тогда пароль не изменяется, а остальные информации есть. Если я использую этот класс, пароль не может быть пустым, так как он не срабатывает при вызовах Required () и ValidatePasswordLength ().
Есть ли способ использовать этот класс, но сказать модели игнорировать эти конкретные проверки? Даже если я оставлю поле пароля вне формы редактирования, оно все равно не будет выполнено. Нужно ли создавать целый дубликат класса без этих ограничений в поле пароля? Должен быть лучший способ.