Мой ORM (LightSpeed) генерирует это для таблицы Animals с именем и возрастом. Использование MVC3 и Razor
[Serializable]
[System.CodeDom.Compiler.GeneratedCode("LightSpeedModelGenerator", "1.0.0.0")]
[System.ComponentModel.DataObject]
[Table(IdColumnName="AnimalID", IdentityMethod=IdentityMethod.IdentityColumn)]
public partial class Animal : Entity<int>
{
[ValidatePresence]
[ValidateLength(0, 50)]
private string _name;
[ValidateComparison(ComparisonOperator.GreaterThan, 0)]
private int _age;
public const string NameField = "Name";
public const string AgeField = "Age";
[System.Diagnostics.DebuggerNonUserCode]
[Required] // ****I put this in manually to get Name required working
public string Name
{
get { return Get(ref _name, "Name"); }
set { Set(ref _name, value, "Name"); }
}
[System.Diagnostics.DebuggerNonUserCode]
public int Age
{
get { return Get(ref _age, "Age"); }
set { Set(ref _age, value, "Age"); }
}
С добавленным атрибутом [Обязательный]:
![enter image description here](https://i.stack.imgur.com/DMWO8.png)
Без добавления атрибута [Обязательный]: (обратите внимание на странную визуализацию LightSpeed проверки)
![enter image description here](https://i.stack.imgur.com/FW2wi.png)
С указанным именем:
![enter image description here](https://i.stack.imgur.com/JvWEH.png)
На изображениях выше - валидация вверху - LightSpeed (помещена в ValidationSummary), а сбоку - MVC3 (вставлена в ValidationMessageFor)
В настоящее время я использую только проверку на стороне сервера.
Вопрос: Как получить валидацию LightSpeed, хорошо работающую в MVC3?
Я думаю, что-то в этой области http://www.mindscapehq.com/staff/jeremy/index.php/2009/03/aspnet-mvc-part4/
Для проверки на стороне сервера - вы захотите использовать пользовательский механизм связывания модели, который более точно выдает ошибки из проверки LightSpeed, а не использует поведение DefaultModelBinder. Обратите внимание на прямое использование или адаптацию EntityModelBinder из библиотеки кода сообщества для Mvc
http://www.mindscapehq.com/forums/Thread.aspx?PostID=12051