gpt4 book ai didi

ASP.NET MVC 3 : programmatically add DataAnnotation (RequiredAttribute) to view model

转载 作者:行者123 更新时间:2023-12-02 05:44:01 25 4
gpt4 key购买 nike

我正在使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com