Я думаю, что лучший способ сделать это - использовать MetadataType
.
Это DataAnnotations
, что позволяет вашему классу иметь пару или что-то в этом роде. Я не знаю, как это объяснить лучше, так что давайте для образцов:
Сначала вам нужно добавить эту директиву в ваш код:
using System.ComponentModel.DataAnnotations;
Им необходимо создать частичный класс сгенерированного вами класса с атрибутом, указывающим, что этот класс имеет MetadataType
:
[MetadataType(typeof(UserMetadata))]
public partial class User
{
}
Затем вы создаете класс метаданных с проверкой вашего замка:
public class UserMetadata
{
[ValidateNonEmpty]
[ValidateLength(6, 24)]
public string Username { get; set; }
[ValidateNonEmpty]
[ValidateLength(6, 100)]
[ValidateEmail]
public string Email { get; set; }
[ValidateNonEmpty]
[ValidateLength(6, 24)]
public string Password { get; set; }
}
Надеюсь, это поможет