问题标签 [model-validation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-3 - 布局视图中的多个局部视图和一个提交按钮
我不确定这是否是正确的方法。在我的搜索中,只发现了多个局部视图和一个提交按钮,但在布局中没有。
我有树不同的视图,每个视图都有自己的模型,具有相同的 _ViewStart.cshtml -> _Layout.cshtml(MVC 约定)。这是第一个控件:
这 3 个视图非常通用,但我不希望其中有提交按钮。
同样在 _Layout.cshtml 我有一个部分视图,其中包含 3 个视图的通用验证代码:
我也不想要 _CommonValidation 视图中的提交按钮。
可以使用 Layout.cshtml 中的“ONLY ONE BUTTON”提交按钮来验证部分 _CommonValidation 和 RenderBody() 视图的模型?在 _Layout.cshtml 视图中包含强类型的部分视图是一种好习惯吗?我是 MVC 3 的新手,所以我不知道该采取什么方向...... JavaScripts,HTML Helpers 也许......谢谢
.net - .Net 数据注释和模型层次结构
每个人!我对实现一段代码以在 asp.net mvc 3 中使用具有不同必填字段的模型进行工作的代码感到困惑 (6)。我有一个模型:
我需要的是动态更改其中所需封地的可能性。经过一番谷歌搜索,这是不可能的,并想到使用模型继承。我的意思是:我有一个这样的基本模型:
其中虚拟属性是可能是或不是必填字段的属性。然后我有几个从基础派生的模型,如下所示:
}
然后我可以在 View 和 Controller 基础模型 BaseOpportunityModel 中使用。但我遇到了以下问题:
- 验证使用来自 BaseOpportunityModel 的注释属性并忽略派生模型中的属性。
我错了什么?有人可以引导我朝着正确的方向前进或帮助我解决这个问题吗?提前致谢。
asp.net-mvc - MVC4:ModelState.IsValid 总是返回 true
我有一个 PartialView,其中包含一个将数据异步发布到我的控制器的表单。如果有效,控制器将添加用户ModelState
,如果无效,它将返回带有无效模型的 PartialView。我遇到的问题是ModelState
无论如何总是有效的。我可以看到表单正在被正确序列化,并且所有属性DynamicActionUserModel.RegisterModel
都被填充。
我不明白为什么会这样,但是模型绑定是否可能因为模型中有模型而不起作用?
这是我的代码...
看法
_User部分视图
动态动作用户模型
控制器
c# - 如何将自定义 ModelValidatorProviders 添加到 Web API 项目?
我正在将一些 MVC 代码移动到 Web API,并且我需要更新我的自定义 ModelValidatorProviders。似乎我的验证器可以保持不变,只是它们应该继承 System.Web.Http.Validation 命名空间。
我不知道如何将提供程序添加到 Web API。使用 MVC 时,我可以将以下内容添加到我的 global.asax 中:
如何将自定义提供程序与 Web API 一起使用?
c# - 复杂模型/子模型验证 (MVC) 的最佳方法
问题
我知道在 MVC 中有很多方法可以进行模型验证,并且有很多关于这个主题的文档。但是,我不太确定验证模型属性的最佳方法是相同类型的“子模型”。
请记住以下几点
- 我仍然想从
TryUpdateModel/TryValidateModel
方法中获利 - 这些“子模型”中的每一个都有强类型视图
- 有一个用于
MainModel
呈现整体显示视图的类的强类型视图
这可能听起来有点混乱,但我会抛出一些代码来澄清。以以下类为例:
主要型号:
一些子模型:
主模型控制器:
我相信这段代码到目前为止都是有意义的(如果不是这样,请纠正我)因为TryValidateModel()
正在验证一个没有ValidationAttribute
.
问题出在哪里,哪里是最好的地方,或者什么是最好和最优雅的方式来对不同的验证约束,Prop1
同时Prop2
仍然利用TryValidateModel()
而不是用条件语句填充 Edit 方法和ModelState.AddModelError()
通常你可以在SomeSubModel
类中有验证属性,但在这种情况下它不起作用,因为每个属性都有不同的约束。
其他选项是MainModel
类中可能有自定义验证属性,但在这种情况下它也不起作用,因为SomeSubModel
对象直接传递给视图并且在验证时没有对其MainModel
对象的引用。
我能想到的唯一剩下的选择是每个属性的 ValidationModel,但我并不是最好的方法。
解决方案
这是我根据@MrMindor 的回答实施的解决方案。
基础 ValidationModel 类:
Prop1 的验证模型
Prop2 的验证模型
行动
asp.net-mvc - 在模型验证开始之前在模型上设置审计值
我已经定义了一个具有一些属性的基类,例如:
如果我在我的控制器中创建一个继承自这个基类的模型对象,如下所示:
它永远不会像ModelState.IsValid
往常一样返回false
,因为在此阶段尚未设置审计属性。
有没有办法在某个常见的地方设置这种值(我试图编写帮助类,但如何获得User
?)并且在模型验证开始之前?
或者唯一的选择是使审计属性为 nullabe [不需要]?
编辑:-
尝试了@archil的建议:
哈哈哈............在Get
行动中做到这一点
仍然得到:
- CreatedOn 字段是必需的。
UpdatedOn 字段是必需的。
c# - 如何禁用 MVC 4 模型验证?
我正在开发一个在 mvc 4 上编写的项目,该项目有几个类似向导的行为实例——通过相同的半填充模型的少数视图链。从第二个视图开始,控件最初显示为无效(这是逻辑模型,传递给控制器方法的相应属性为空)。当前
ModelState.Clear();
使用了解决方案,但将其放入每个方法中,模型作为参数看起来很难看。与此处找到的方法相同在 Asp.Net MVC 中禁用模型验证
项目有太多(超过 100 个)模型类,无法手动注册每个模型类。
是否有更简单的方法(可能是 .config 中的键)完全关闭模型验证?
asp.net-mvc-3 - 本地化模型验证在 ie < 9 中不起作用
我在我的 mvc 3 应用程序中使用本地化模型验证。我使用Required 属性和错误消息资源做到了这一点。这适用于几乎所有浏览器,除了 7 和 8。您可以在下面找到我使用的示例代码。
示例代码:
c# - MVC 选择性模型验证
在我的模型中,我有一个 HomeAddress 和 BillingAddress 类型为 location 的人:
我正在寻找一种优雅的方法来仅在必需的属性 HomeAddress 上验证“必需的”属性。我使用的是普通的 componentmodel 属性并内置了 MVC 的模型验证。所以我正在寻找的是一个属性,它将检查位置是否在 Person.HomeAddress 或 .BillingAddress 中,并且仅在第一种情况下验证。或者我应该改变我的设计并使绑定地址为 NULL,以防输入的信息不足?
c# - 数组必须包含 1 个元素
我有以下课程:
我想在上面有一个数据注释,TaskDescriptions
以便数组必须包含至少一个元素?很像[Required]
。这可能吗?