Я обнаружил, что проще всего позволить свойствам установить любое значение (в любом случае правильного типа данных), а затем проверить его перед сохранением.
Мне нравится использовать встроенные атрибуты проверкив .Net.Это сохраняет логику, связанную со свойством.Существует класс StringLengthAttribute , который должен выполнить то, о чем вы просите.
Атрибуты находятся в пространстве имен System.ComponentModel.DataAnnotations (вам необходимо обратиться к сборкето же имя).
MVC и EntityFramework имеют встроенный способ проверки данных.Если вам нужно выполнить логику самостоятельно, вот код, который может помочь вам начать ...
var ctx = new ValidationContext(obj, null, null);
Validator.ValidateObject(obj, ctx);