asp.net-mvc – 条件数据注释
发布时间:2020-05-27 22:34:17 所属栏目:asp.Net 来源:互联网
导读:有没有办法使数据注释有条件?我有一个桌子派对,我存储组织和人员。如果我添加一个组织,我不想要现场姓氏,但只有当我添加一个人。 public class Party{ [Required(ErrorMessage = {0} is missing)] [DisplayName(Your surname)] public object surname { g
|
有没有办法使数据注释有条件?我有一个桌子派对,我存储组织和人员。如果我添加一个组织,我不想要现场姓氏,但只有当我添加一个人。 public class Party
{
[Required(ErrorMessage = "{0} is missing")]
[DisplayName("Your surname")]
public object surname { get; set; }
[DisplayName("Type")]
public object party_type { get; set; }
...
}
我想要一个需要的姓氏数据注释的条件,像: 编辑 解决方法您可以使您的模型继承自 IValidatableObject,然后将自定义逻辑放入验证方法中。您还必须从属性中删除RequredAttribute。您将必须编写一些自定义JavaScript来验证客户端上的此规则,因为Validate方法不会转换为不显眼的验证框架。注意我改变了你的属性到字符串,以避免投射。此外,如果您从属性中获得其他验证错误,那么它们将首先触发,并阻止验证方法运行,以便只有在基于属性的验证确定时才会检测到这些错误。 public class Party : IValidatableObject
{
[DisplayName("Your surname")]
public string surname { get; set; }
[DisplayName("Type")]
public string party_type { get; set; }
...
public IEnumerable<ValidationResult> Validate( ValidationContext context )
{
if (party_type == "P" && string.IsNullOrWhitespace(surname))
{
yield return new ValidationResult("Surname is required unless the party is for an organization" );
}
}
}
在客户端,您可以执行以下操作: <script type="text/javascript">
$(function() {
var validator = $('form').validate();
validator.rules('add',{
'surname': {
required: {
depends: function(element) {
return $('[name=party_type]').val() == 'P';
}
},messages: {
required: 'Surname is required unless the party is for an organization.'
}
}
});
});
</script> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 已经使用相同的参数类型定义了一个名为“Cr
- asp.net-mvc-3 – ASP.NET MVC 3和Razor的ASHX处理程序
- asp.net-mvc – 如何忽略ASP.NET MVC 4中特定View文件夹或特
- asp.net-mvc – Html.CheckBox即使模型值为true也不进行检查
- ASP.NET MVC捆绑缓存. (检测css文件更改)(内部行为)
- asp.net – 我找不到在visual studio 2010中从工具菜单生成
- asp.net-mvc – LINQ Distinct()
- asp.net-mvc – 在存储库之间调用方法 – 存储库模式
- 有没有办法远程调用ASP.NET开发Web服务器?
- asp.net – ELMAH – 过滤404错误
推荐文章
站长推荐
- asp.net – 想要在ModalPopExtender之上显示Upda
- asp.net-mvc-3 – 具有多个强类型部分视图的MVC
- asp.net – 如何让Html Link(锚点)回发像LinkBut
- asp.net-core – compilationOptions.emitEntryP
- asp.net – SignalR Autofac OWIN:为什么Global
- 做一个ASP.NET网站的更改杀死活动会话?
- asp.net – 多个DataContext类是否适合?
- asp.net – IIS HTTP错误403.1 – 禁止访问:拒绝
- 如何保护我的ASP.NET AJAX应用程序?
- 如何使用asp.net获取html select的所选值
热点阅读
