首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >验证自定义绑定的模型中的单个属性

验证自定义绑定的模型中的单个属性
EN

Stack Overflow用户
提问于 2011-08-26 15:08:26
回答 3查看 932关注 0票数 0

我想简单地验证该模型的一个属性

代码语言:javascript
运行
AI代码解释
复制
public ActionResult Rate([Bind(Exclude="Score")]RatingModel model)
{    
    if(ModelState.IsValid)
    {
         //here model is validated without check Score property validations
         model.Score = ParseScore( Request.Form("score")); 
         // Now i have updated Score property manualy and now i want to validate Score property    
    }
}

在手动分配分数后,Mvc框架不会检查模型的有效性。现在,我想用模型上当前存在的所有验证属性来验证Score属性。//如何轻松做到这一点?Mvc框架支持这个场景吗?

这是我的模型

代码语言:javascript
运行
AI代码解释
复制
public class RatingModel
{
    [Range(0,5),Required]
    public int Score { get; set; }  
}    
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-26 21:13:14

我找到了正确的解决方案。我只需调用TryValidateModel,它就会验证包括Score属性在内的属性。

代码语言:javascript
运行
AI代码解释
复制
public ActionResult Rate([Bind(Exclude="Score")]RatingModel model)
{    
    model.Score = ParseScore( Request.Form("score"));
    if(TryValidateModel(model))
    {
        ///validated with all validations
    }

}
票数 1
EN

Stack Overflow用户

发布于 2011-08-26 15:21:56

您正在使用MVC3。为什么没有在模型中设置一些最基本的验证规则,有什么特别的原因吗?

您可以直接在模型中设置一些验证规则。例如,如果要验证电子邮件字段,可以在模型本身中设置规则甚至错误消息。

代码语言:javascript
运行
AI代码解释
复制
[Required(ErrorMessage = "You must type in something in the field.")]
[RegularExpression(".+\\@.+\\..+", ErrorMessage = "You must type in a valid email address.")]
[Display(Name = "Email:")]
public string Email { get; set; }

点击此处阅读更多信息:http://www.asp.net/mvc/tutorials/validation-with-the-data-annotation-validators-cs

票数 0
EN

Stack Overflow用户

发布于 2011-08-26 18:23:57

您需要在控制器操作中检查ModelState是否有效:

代码语言:javascript
运行
AI代码解释
复制
public ActionResult Action(RatingModel viewModel)
{
    if (ModelState.IsValid) 
    {
        //Model is validated
    }
    else
    {
        return View(viewModel);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7206786

复制
相关文章
【asp.net core】自定义模型绑定及其验证
    水此篇博客,依旧是来自群里的讨论,最后说到了,在方法参数自定义了一个特性,用来绑定模型,优先从Form取,如果为空,或者不存在,在从QueryString中获取并且绑定,然后闲着无聊,就水一篇博客,如果大家有什么需求或者问题,可以找我,很高兴能为你们带来帮助。
陈显达
2023/05/11
6150
go : gin 模型绑定与验证
将请求体绑定到类型中,请使用模型绑定。我们目前支持JSON、XML、YAML和标准表单值(foo=bar&boo=baz)的绑定
IT工作者
2022/07/23
3040
python中属性和方法的动态绑定
# 定义一个类 class Student(object):     pass # 实例化一个对象     s = Student() # 给这个对象绑定一个属性name s.name = 'John' print(s.name) John # 定义一个方法 def set_age(self, age):     self.age = age # 导入模块     from types import MethodType #给s这个对象绑定一个set_age的方法 s.set_age = Meth
py3study
2020/01/13
1.8K0
2.5 Vue的属性绑定
此时input标签中加入了“v-model='title'”,表示input的value值与vue对象中的title属性绑定,当在input输入框中输入内容会实时修改title的值。于是{{title}}插值表达式能实时输出input输入框内的值。
Qwe7
2022/07/20
8850
WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 中定义的属性也能使用绑定了
如果你写了一个 MarkupExtension 在 XAML 当中使用,你会发现你在 MarkupExtension 中定时的属性是无法使用 XAML 绑定的,因为 MarkupExtension 不是一个 DependencyObject。
walterlv
2020/02/10
1.8K0
Python动态绑定属性slots的使用
当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。废话不多说,我们看一个例子:
py3study
2020/01/17
1.7K0
SpringBoot中自定义参数绑定
本文是vhr系列的第十篇,vhr项目地址https://github.com/lenve/vhr 正常情况下,前端传递来的参数都能直接被SpringMVC接收,但是也会遇到一些特殊情况,比如Date对象,当我的前端传来的一个日期时,就需要服务端自定义参数绑定,将前端的日期进行转换。自定义参数绑定也很简单,分两个步骤: 1.自定义参数转换器 自定义参数转换器实现Converter接口,如下: public class DateConverter implements Converter<String,Da
江南一点雨
2018/04/02
1.3K0
3.绑定属性、绑定html、绑定class、绑定style
1.绑定属性 <template> <div id="app"> <!-- 绑定属性 --> <br> <div v-bind:title='title'>鼠标悬浮出现</div> <br> <img :src="url" alt="仙女"> </div> </template> <script> export default { name: 'app', data () { return { title:'
玩蛇的胖纸
2019/09/25
2.4K0
3.绑定属性、绑定html、绑定class、绑定style
asp.net core自定义模型验证——前端验证
转载请注明出处:http://www.cnblogs.com/zhiyong-ITNote/
Ryan_OVO
2023/10/19
2550
ASP.NET Web API编程——模型验证与绑定
1.模型验证 使用特性约束模型属性 可以使用System.ComponentModel.DataAnnotations提供的特性来限制模型。 例如,Required特性表示字段值不能为空,Range特性限制数值类型的范围。 对实体类使用特性后,可以使用ModelState.IsValid来判断验证是否通过。 例: 实体: public class DataModel { public int Id { get; set; } public string Field1Nam
甜橙很酸
2018/04/18
3K0
ASP.NET Web API编程——模型验证与绑定
HTML中的自定义数据属性data-*
data-* 全局属性 是一类被称为自定义数据属性的属性,它赋予我们在所有 HTML 元素上嵌入自定义数据属性的能力,并可以通过脚本(一般指JavaScript) 与 HTML 之间进行专有数据的交换。
刘亦枫
2020/03/19
1.3K0
HTML中的自定义数据属性data-*
data自定义属性在jQuery中的用法
(1)如果在HTML文档中设置的data-自定义属性的单个字符串的名称的属性中若有大写值,在js文件中获取时只能用小写的形式获取。如:
kirin
2021/01/14
3.1K0
EXTJS7 自定义组件配置属性启用双向绑定
使用publishes/twoWayBindable都可以启用配置属性的变更通知,既可实现双向绑定 // 默认配置属性只能做入参 config: {myprop1: 1}, // 启用双向绑定 publishes: ['myprop1'], // 或 twoWayBindable: ['myprop1']
路过君
2020/07/16
4890
【说站】laravel模型中的$casts属性转换
按照以往的操作,在create的时候,先手动对特定的字段进行json_encode,然后再create;
很酷的站长
2022/11/24
1.9K0
【说站】laravel模型中的$casts属性转换
Angularjs进阶笔记(2)-自定义指令中的数据绑定
自定义指令,是Angularjs用来实现组件化的方式,相比于React和Vue的组件化方式,它真的很复杂,自定义指令太重了,它暴露了太多可供定制的参数,以至于普通的开发者完全不知道要用它来做什么而将其束之高阁,毕竟一般的业务逻辑通过controller和service就已经可以完成了。
大史不说话
2019/03/01
2.1K0
Java中的静态绑定和动态绑定
一个Java程序的执行要经过编译和执行(解释)这两个步骤,同时Java又是面向对象的编程语言。当子类和父类存在同一个方法,子类重写了父类的 方法,程序在运行时调用方法是调用父类的方法还是子类的重写方法呢,这应该是我们在初学Java时遇到的问题。这里首先我们将确定这种调用何种方法实现或 者变量的操作叫做绑定。
哲洛不闹
2018/09/19
2.1K0
Java中的静态绑定和动态绑定
一个Java程序的执行要经过编译和执行(解释)这两个步骤,同时Java又是面向对象的编程语言。当子类和父类存在同一个方法,子类重写了父类的方法,程序在运行时调用方法是调用父类的方法还是子类的重写方法呢,这应该是我们在初学Java时遇到的问题。这里首先我们将确定这种调用何种方法实现或者变量的操作叫做绑定。
技术小黑屋
2018/09/05
1.8K0
点击加载更多

相似问题

绑定单个属性的模型

15

将ItemsControl绑定到单个模型上的单个属性?

31

自定义模型绑定中的DataAnnotations验证

11

MVC模型绑定-验证每个属性?

21

具有自定义验证属性的模型验证

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档