|
|
1
8
您是否直接绑定到实体?看起来不错。所以你有两个选择:
我个人会选择2。我认为你应该总是使用视图/编辑模型,这是一个很好的例子。 |
|
|
2
4
我也有同样的问题。我四处找了找工作。它将此问题描述为在所需字段验证之前进行的EF验证所导致的问题。它还显示了如何使用
以下是问题和解决方法的链接: Server-side validation of a REQUIRED String Property in MVC2 Entity Framework 4 does not work |
|
3
2
这是MVC2和实体框架4的问题,还是设计的问题?对于日期时间不可为空(必需)的字段,似乎可以很好地验证ef属性,而数字字段和字符串字段的数据类型验证可以在不使用ViewModels的情况下工作。 我用一个简单的foobar表重新创建了这个问题,在SLQ2008中使用了一个名为barname的不可为空的varchar(50)列。我从该数据库生成了EF模型,并迅速为foobar实体添加了控制器和创建视图。如果我尝试在不输入属性barname值的情况下发布到create操作,vs会在模型的designer.cs文件中逐步进入异常(就像上面的一样)。当我试图跳过异常时,验证消息会显示在表单上,并且字段以粉红色突出显示。 似乎有什么东西没有按正确的顺序发射。因为异常发生在vs进入httppost创建方法之前。 我发现ASP.NET MVCMusicStore示例中的代码很有用。 http://mvcmusicstore.codeplex.com/releases/view/44445#DownloadId=119336 绑定到视图模型似乎解决了这个问题。
|
|
|
4
1
阿什什·谢基亚的回答帮助了我。我将这个属性添加到属性中,现在它可以工作了。
所以看起来是这样的:
|
|
|
5
1
导入命名空间:
并添加属性属性属性
因此modelstate.isvalid等于false,在验证中显示错误消息,并且不会在服务器上以空值失败。 |
|
|
6
1
我有同样的问题,通过
|
|
7
0
我自己也遇到了同样的问题,来到这里寻找解决办法。但是,答案可以得到增强。 svavar和hackitmngr走在了正确的道路上,但是两者的结合给出了最好的结果。您不想去修饰生成的类,因为您可能会在修改ef模型时丢失自定义更改。 [元数据类型(typeof(myTableMetadata))] 公共分部类MyTable { //唱片集类的验证规则
解决双方之间的任何争论。我想说斯瓦瓦的是直接的答案,哈基特姆格是增强。 对我来说太好了! |
|
|
8
0
我将storeGeneratedPattern属性设置为每个字段的计算值,它为我解决了这个问题。 |