Я пытаюсь заставить проверку серверной стороны Свойства строки Платформы Объекта работать. Другая проверка серверной стороны, такая как проверка типа данных и требуемая дата и время и числовые свойства EF работает.
Это в VS 2010.Net 4.0, MVC2 + облако, платформа объекта ADO.NET.
Свойство строки, с которым у меня есть проблемы, отображается на SQL 2008, Varchar (50) не допускающий NULL-значения столбец.
Когда я пытаюсь отправить на свое Действие по созданию с пустой строкой для этого Свойства, я получаю follwing ошибку.
Детали исключения: Система. Данные. ConstraintException: Это свойство не может быть установлено на нулевое значение.
Когда я отправляю на действие с пробелом, я успешно получаю сообщение проверки обязательного поля.
Я попытался использовать Аннотирования данных и ClientSideValidation, но, кажется, существуют проблемы с ClientSideValidation, работающим над частичными представлениями и диалоговыми окнами jQuery.
Вот является orginal автоматически сгенерированным кодом от платформы объекта.
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
[DataMemberAttribute()]
public global::System.String GradeTypeName
{
get
{
return GradeTypeName;
}
set
{
OnGradeTypeNameChanging(value);
ReportPropertyChanging("GradeTypeName");
_GradeTypeName = StructuralObject.SetValidValue(value, false);
ReportPropertyChanged("GradeTypeName");
OnGradeTypeNameChanged();
}
}
В зависимости от подписи Метода действия (СОЗДАЮТ или РЕДАКТИРУЮТ), исключение может произойти прежде, чем ступить в метод или в рамках метода, когда UpdateModel () назван. Внутреннее исключение в строке ниже из model.designer.cs файла.
_GradeTypeName = StructuralObject.SetValidValue(value, false);
Я смог воспроизвести это на простом mvc2 веб-приложении.