MVC3 关于修改时验证的问题
难道我修改一个字段也要把其它字段都补全吗?或者只能关掉验证再开启?
例如我就修改密码这个字段,有其它方法的吗?
User_Info user = da.User_Info.Find(u.Uid);
user.Password = DecSecurity.Md5(model.NewPassword);
da.SaveChanges();
报错:
{"对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性。"}
------解决方案--------------------加密后密码长度变得很长 可能你数据库里密码字段的长度问题吧
------解决方案--------------------调试看一下什么错误就行了! 估计是数据库里密码字段长度太短了
------解决方案--------------------http://blog.csdn.net/jys1216/article/details/12128321
提交的实体包含验证导致出现问题,那么保存可以先关闭验证
或者修改的提交实体为表单上可编辑的视图状态,字段对应,建立单独的编辑实体Model,后台一般是先验证提交实体的有效性,然后再进入库操作
------解决方案--------------------错误提示是你的实体的属性验证错误..... 可能填写的字符串的长度 太长了
你可以这样:修改一条数据的里面某个字段的时候:1,根据id把该条数据取出来 2. 设置该实体的“字段值=你要修改的值” 3. 把实体传回数据库更新
------解决方案--------------------User_Info作为Model,属性不要加数据注解,如[Required]等。可以创建一个ViewModel,例如:注册时候创建的一个UserViewModel 这时候加上数据注解,用于验证用户提交的表单。
------解决方案--------------------你也可以手动写SQL语句Update User_Info。去db的connectionstring 然后 var conn = new SqlConnection(cs); .........