首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在MVC3中使用modelstate.isvalid验证控制器内部的数据

在MVC3中使用modelstate.isvalid验证控制器内部的数据
EN

Stack Overflow用户
提问于 2012-02-24 15:13:21
回答 2查看 1.4K关注 0票数 1

我是ASP.NET MVC3的新手,但我有大约4年的使用pretty的经验。

我正在尝试构建一个MVC3 web应用程序,但我在验证我的模型时遇到了问题。这是一个测试控制器,向你展示我正在尝试做但没有成功的事情。

我试图将一个值传递给控制器内部的模型,但它没有将其考虑在内。

我尝试为junk.sentence使用modelstate.setmodelvalue,但它保留了POST请求中的值,该值是无效的,并且我想在控制器中默认更改该值(出于测试目的)。

有人能帮上忙吗?

提前谢谢。

迈克尔

代码语言:javascript
运行
AI代码解释
复制
    [HttpPost]
    public ActionResult Create(Junk junk)
    {
        //ModelState.Clear();
        junk.sentence = "coucou";

        ModelState.SetModelValue("sentence", new ValueProviderResult(junk.sentence, junk.number, null));


        //ModelState
        if (ModelState.IsValid)
        {
            db.Junks.Add(junk);
            db.SaveChanges();
            return RedirectToAction("Index");  
        }

        return View(junk);
    }

    //
    // GET: /Junk/Edit/5

    public ActionResult Edit(int id)
    {
        Junk junk = db.Junks.Find(id);
        return View(junk);
    }
EN

回答 2

Stack Overflow用户

发布于 2012-02-24 15:17:29

尝试将其从模型状态中删除:

代码语言:javascript
运行
AI代码解释
复制
[HttpPost]
public ActionResult Create(Junk junk)
{
    junk.sentence = "coucou";

    //ModelState
    if (ModelState.IsValid)
    {
        db.Junks.Add(junk);
        db.SaveChanges();
        return RedirectToAction("Index");  
    }

    ModelState.Remove("sentence");
    return View(junk);
}

这假设在您的视图中有一个相应的输入字段,该字段是使用一些helpers (例如EditorFor )生成的:

代码语言:javascript
运行
AI代码解释
复制
@Html.EditorFor(x => x.sentence)

或者:

代码语言:javascript
运行
AI代码解释
复制
@Html.TextBoxFor(x => x.sentence)
票数 1
EN

Stack Overflow用户

发布于 2012-02-24 15:20:57

当模型状态中添加了模型错误时,ModelState.IsValid将返回false。MVC验证模型上的属性,并在ModelState中为您创建一个错误列表。您必须从模型状态中删除您希望从控制器操作中忽略的错误。然后,您可以更新模型上的实际值。(Darin Dimitrov向你展示了一个这样做的例子)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9433074

复制
相关文章
yii2 在控制器中验证请求参数的使用方法
针对每个请求单独写个Model , 定义验证规则并进行验证。 缺点:写好多参数验证的Model 类。
用户7353560
2021/11/07
3.8K0
Asp.net mvc 知多少(六)
本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。 由于个人技术水平和英文水平也是有限的,因此错误在所难免,希
圣杰
2018/01/11
2.4K0
Asp.net mvc 知多少(六)
MVC 3.0 的新特性 摘要
MVC经过其1.0和2.0版本的发展,现在已经到了3.0的领军时代,随着技术的不断改进,MVC也越来越成熟。使开发也变得简洁人性化艺术化。
Isaac Zhang
2019/09/10
2.6K0
MVC 3.0 的新特性

            摘要
Java中,匿名内部类在开发中的使用以及匿名内部类的面试题
  我们在开发的时候,会看到抽象类,或者接口作为方法的形式参数。   而这个时候,我们知道实际需要的是一个子类的对象。 如果该方法仅仅调用一次,我们就可以使用匿名内部类的格式进行简化。
黑泽君
2018/10/11
1.5K0
在 Laravel 控制器中进行表单请求字段验证
在 Web 应用中,用户提交的数据往往是不可预测的,因此一个非常常见的需求是对用户提交的表单请求进行验证,以确保用户输入的是我们所期望的数据格式。很多 Web 框架都对此功能专门提供了工具集,Laravel 也不例外,而且这个工具集异常丰富,基本上涵盖了目前主流的所有验证规则,即使是一些非常个性化的验证,也可以基于 Laravel 验证类的扩展功能来自定义验证规则,非常强大。接下来,我们就一起来看看如何在 Laravel 中对表单请求进行验证。
学院君
2021/01/08
5.9K0
Git在公司内部的使用规范
fix:修复 xxx Bug feat:新增 xxx 功能 test:调试 xxx 功能 style:变更 xxx 代码格式或注释 docs:变更 xxx 文档 refactor:重构 xxx 功能或方法 scope 表示 影响范围,可分为:模块、类库、方法等。
用户7657330
2020/08/14
1.6K0
git在公司内部的使用实践
搜索git使用方法是发现这篇文章,几经搜索终于找到原作者的博客,找到了原文,现在分享给大家,希望能够普及git的使用。
老高的技术博客
2022/12/27
5870
MVC3教程之新手入门
你还可以通过Web Platform Installer将这些软件一起安装到本地。
拓荒者IT
2019/09/26
1.5K0
MVC3教程之新手入门
kfold交叉验证k越大_内部交叉验证
设X是一个9*3的矩阵,即9个样本,3个特征,y是一个9维列向量,即9个标签。现在我要进行3折交叉验证。
全栈程序员站长
2022/11/08
5680
在SpringMVC中使用数据验证组件——hibernate-validator
在做web开发的时候,经常需要对客户端发送过来的数据进行一个验证,以防数据不合法。而SpringMVC支持的数据校验是JSR303的标准,通过在bean的属性上打上annotation @NotNull @Max等注解进行验证。JSR303提供有很多annotation借口,而SpringMVC对于这些验证是使用hibernate的实现,所以我们需要添加hibernate的一个validator包:
端碗吹水
2020/09/23
1.1K0
在SpringMVC中使用数据验证组件——hibernate-validator
在 ASP.NET WebAPI 中使用 DataAnnotations 验证数据
为了 Web 服务的安全, 通常在服务端也会做数据验证, 不过数据验证的代码确实是有点儿枯燥, 以简单的用户注册来说, 需要的注册信息如下:
beginor
2020/08/10
1.2K0
laravel 中数据验证
相关验证参考文档:https://blog.csdn.net/qq_35641923/article/details/79174555
句小芒
2022/12/29
1.2K0
SDRAM控制器设计(8)SDRAM控制器仿真验证
接下来,结合仿真模型(镁光官网提供的 SDRAM 模型)sdr文件,和编写的 testbench 文件验证所设计的控制器是否正确。 testbench如下
全栈程序员站长
2022/09/16
8330
精通MVC3摘译(4)-使用Area
MVC Framework支持将一个web application放入一个area,每个area表示一个特殊功能的应用程序片段,比如管理,账单,客户支持等等。这对大型项目很有用,如果大型项目中所有的controller,View和model都只有相应的一个文件夹,那么很难管理,那么此时使用area会很有帮助。
py3study
2020/01/10
6650
在lightgbm中使用交叉验证
防止过拟合的参数: max_depth 树的深度,不要设置的太大; num_leaves 应该小于 2^(max_depth),否则可能会导致过拟合; min_child_samples 较大的值可以避免生成一个过深的树, 避免过拟合,但有可能导致欠拟合; min_sum_hessian_in_leaf 设置较大防止过拟合; feature_fraction 和 bagging_fraction都可以降低过拟合; 正则化参数lambda_l1(reg_alpha), lambda_l2(reg_lambda)。
生信编程日常
2020/09/08
3.9K0
Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目
在上一篇文章Asp.Net MVC3 简单入门第一季(一)环境准备中我简单介绍了Asp.Net MVC3项目的安装和第一个Asp.Net MVC3项目的基本情况。没有详细介绍项目中各个文件夹的作用,以及创建的第一个页面是怎样运行起来的?还有好多的疑问,那在这篇文章中我们将详细介绍项目中各个文件夹的作用,并真的第一个项目我们简要介绍一下Asp.Net MVC的URL驱动的是怎么回事。
老马
2022/11/28
9790
Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目
在C++中模拟JAVA内部类的方法
有时候我们需要把一批互相关联的API用不同的类提供给用户,以便简化每个类的使用难度。但是这样这些类之间的数据共享就成了问题。JAVA的内部类可以自由的访问外围类的所有数据,所以很时候做这的工作,而如果C++也这样做,就变成要增加很多setter和getter。但是,也可以用以下方法模拟实现: 首先,你的内部类头文件一般是被外围类所#include的,所以需要在内部类的声明前增加“前置声明”: namespace outerspace{ class OuterClass; } 然后,再设置一个指向外部类的指针
韩伟
2018/03/05
2K0
在C++中模拟JAVA内部类的方法
ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
在简单了解了Unobtrusive JavaScript形式的验证在jQuery中的编程方式之后,我们来介绍ASP.NET MVC是如何利用它实现客户端验证的。服务端验证最终实现在相应的ModelValidator中,而最终的验证规则定义在相应的ValidationAttribute中;而客户端验证规则通过HtmlHelper<TModel>相应的扩展方法(比如TextBoxFor、EditorFor和EdidtorForModel等)出现在生成的被验证HTML元素中。毫无疑问,服务端验证和客户端验证必须采
蒋金楠
2018/01/15
7.2K0
如何对动态创建控件进行验证以及在Ajax环境中的使用
首先给一个常规的动态创建控件,并进行验证的代码 [前端aspx代码] <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htm
菩提树下的杨过
2018/01/22
7.9K0
点击加载更多

相似问题

ModelState.IsValid与MVC3中的IValidateableObject

21

使用ajax和json数据进行ModelState.IsValid验证

13

使用Autofac解析MVC3中组件内部的控制器

10

对所有控制器进行全局验证ModelState.IsValid

57

C# .NET MVC3 ModelState.IsValid

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文