- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 javascript 非侵入式验证。我有一个 View 模型,我正在将其重新用于多种形式,并且在某些形式中,需要 View 模型上的某些属性。在其他形式上,他们不应该。有没有办法以编程方式在属性上设置 [Required],以便我可以完成此操作?
谢谢!
最佳答案
不能使用 DataAnnotations 完成,因为它们是在编译时实现的,不能动态添加。你也可以
创建具有适当注释的不同 View 模型
或
有一个服务,您将 View 模型发送到该服务,该服务根据它来自的操作检查模型并返回一个验证错误列表,您可以将其附加到模型状态
或
在 ViewModel 上放置一个属性,例如 string IsBeingUsedFor
并将其与 RequiredIf DataAnnotation 结合使用。 Here is an example of a library already build that uses conditional DataAnnotations .然后你可以说,[RequireIf("IsBeingUsedFor", "Action_A")]
这些不一定是所有选项,而是一些更简洁的选项。您可以在 JavaScript 中完成这一切,但您将失去服务器端验证,并且如果“坏人”提交表单并绕过客户端验证,则可能会在您的应用程序中打开一些漏洞。
关于ASP.NET MVC 3 : programmatically add DataAnnotation (RequiredAttribute) to view model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10057199/
RequiredAttribute 适用于 string 但不适用于 DateTime。例如: [Required] [DisplayFormat(ConvertEmptyString
我有一个必需的消息,我想给它一个自定义消息,因为默认消息不是很好。该消息必须来自资源文件并已参数化,因此资源文件中的消息将类似于 "The {0} field is required." 我需要能够用
我有一个 RequiredAttribute 的扩展类,它不会发回错误消息。如果我在调试器中检查它,文本就在那里。 public class VierRequired : RequiredAttrib
我的 Code-First 模型中有一个数据库计算字段。我已经用 DatabaseGeneratedAttribute 标记了它。我还需要指定 RequiredAttribute 吗? 换句话说:'r
我有一个 Comment 类,其中有一个 Author 属性: public class Comment : IEquatable { public int ID { get; set; }
我在新的 .NET Core 项目中遇到本地化问题。我有 2 个项目: 带有模型和 DataAnnotations 的 DataAccess 项目(例如 RequiredAttribute) 具有 M
这是我们在 .NET MVC 2 中面临的问题。 我们正在尝试使用 DataAnnotations 来为我们处理模型验证,就像它应该做的那样。我们遇到的唯一问题是我们不想要标准错误消息(因为我们的网站
我正在使用 javascript 非侵入式验证。我有一个 View 模型,我正在将其重新用于多种形式,并且在某些形式中,需要 View 模型上的某些属性。在其他形式上,他们不应该。有没有办法以编程方式
这是我们在 .NET MVC 2 中面临的问题。 我们正在尝试使用 DataAnnotations 来为我们处理模型验证,就像它应该做的那样。我们遇到的唯一问题是我们不想要标准错误消息(因为我们的网站
假设我向我的 API 发送了以下请求: POST http://localhost:4940/api/cars HTTP/1.1 User-Agent: Fiddler Host: localhost
Brad Wilson 发布了有关 ASP.NET MVC 新 ModelMetaData 的精彩博客系列: http://bradwilson.typepad.com/blog/2009/10/as
我试图创建一个自定义版本的 RequiredAttribute 来替换内置的版本,我已经让它适用于具有字符串值的属性,但是对于 DateTime 或整数的属性,例如,默认的 RequiredAttri
我是一名优秀的程序员,十分优秀!