关于MVC3的数据验证问题
问题描述:现有两个实体类定义如下:
public class User
{
[Required(ErrorMessage="用户ID不得为空")]
public string UserID{get;set;}
[Required(ErrorMessage="用户名不得为空")]
public string UserName{get;set;}
[Required(ErrorMessage="用户密码不得为空")]
public string LoginPassword{get;set;}
...
}
public class news//新闻类
{
[Required(ErrorMessage="新闻ID不得为空")]
public string NewsID{get;set;}
[Required(ErrorMessage="新闻标题不得为空")]
public string NewsTitle{get;set;}
...
[Required(ErrorMessage="新闻作者不得为空")]
public User NewsAuthor{get;set;}
...
}
在数据库表中,新闻作者字段保存的是用户的ID,框架使用Nhibernate实现
在编辑提交新闻时,验证总是要求必须补全NewsAuthor不得为空的字段,这样的话用户名和密码就要通过页面提交了,想请问能不能只提交用户的ID来通过验证。 --------------------编程问答-------------------- 各位大神帮忙看看啊,在线急等 --------------------编程问答-------------------- 第一办法可以把news里面的user直接改成userID,因为没几个时候会查新闻的时候,会查出user的所有信息,顶多就查个userName。
第二办法你可以在添加的新闻的时候,new user对象时,随便给user的password等字段加个值,因为不会写入数据库
第三就是添加新闻验证的时候,验证User为空,既然给userID都有值了,说明user不为空,不知道怎么不能通过验证 --------------------编程问答-------------------- --------------------编程问答-------------------- userID如果传过来,你可以从数据库中检索到User对象,然后再赋给NewsAuthor这个对象,但是这样多了一次数据库查询.
--------------------编程问答-------------------- 传ID还好说,主要是从下拉列表里选出来的对象ID,还要验证其他的数据才麻烦,我也是这种类似的问题,几天了也没解决办法,暂时把验证删掉了实现功能 --------------------编程问答-------------------- 支持下
--------------------编程问答-------------------- http://blog.csdn.net/xuejunhui/article/details/11126621 --------------------编程问答-------------------- [Required(ErrorMessage="新闻作者不得为空")]
public User NewsAuthor{get;set;}
这不是你写的吗?
补充:.NET技术 , ASP.NET