asp.net-mvc-3 – 模型验证/ ASP.NET MVC 3 – 条件必需属性
发布时间:2020-05-23 14:36:52 所属栏目:asp.Net 来源:互联网
导读:我的ASP.NET MVC 3应用程序遇到麻烦。我有两个属性在我的模型,我只想要其中一个需要在我看来,基于任何一个是空的。所以例如,如果我输入一个电话号码,那么不再需要电子邮件,反之亦然,但如果我同时留下两个空格,那么需要1个,下面是我的模型: [Display(
|
我的ASP.NET MVC 3应用程序遇到麻烦。我有两个属性在我的模型,我只想要其中一个需要在我看来,基于任何一个是空的。所以例如,如果我输入一个电话号码,那么不再需要电子邮件,反之亦然,但如果我同时留下两个空格,那么需要1个,下面是我的模型: [Display(Name = "Contact Phone Number:")]
[MaxLength(150)]
public string ContactPhoneNumber { get; set; }
[Display(Name = "Contact Email Address:")]
[MaxLength(100)]
public string ContactEmailAddress { get; set; }
我需要创建一个自定义属性来验证我的模型,如果是,我该如何实现? 解决方法您可以在类上实现IValidatableObject,并提供实现自定义逻辑的Validate()方法。如果您希望确保提供该逻辑,则将其与客户端上的自定义验证逻辑相结合。我发现这比实现一个属性更容易。public class ContactModel : IValidatableObject
{
...
public IEnumerable<ValidationResult> Validate( ValidationContext context )
{
if (string.IsNullOrWhitespace( ContactPhoneNumber )
&& string.IsNullOrWhitespace( ContactEmailAddress ))
{
yield return new ValidationResult( "Contact Phone Number or Email Address must be supplied.",new [] { "ContactPhoneNumber","ContactEmailAddress" } );
}
}
}
要使客户端的所有工作都可以,您需要将以下脚本添加到您的视图中: <script type="text/javascript">
$(function() {
$('form').validate();
$('form').rules('add',{
"ContactPhoneNumber": {
depends: function(el) { return !$('#ContactEmailAddress').val(); }
}
});
});
</script> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何在ASP.NET Web API中获取IpAddress和Us
- asp.net – 无法CoCreate Profiler错误 – 但不使用分析器
- 用ADO.NET处理层次数据
- asp.net-mvc-2 – 在MVC 2中使用自定义TextWriter时,“Bina
- ASP.NET分页控件
- ASP.NET MVC和ORM选择
- asp.net-mvc – 使用ASP.NET MVC导出数据到Excel文件4 C#正
- asp.net-2.0 – 如何解决ASP.NET“”应用程序路径到网站根目
- asp.net-mvc – 在IIS Express中测试SignalR应用程序
- asp.net-mvc – ASP.Net MVC 5带范围的Google身份验证
推荐文章
站长推荐
- asp.net – FF和IE不从CSS加载img src
- asp.net – 如何构建专门的JQuery Timer
- asp.net-mvc – 当注入服务或控制器的依赖关系太
- asp.net-mvc – Donut hole缓存 – 排除MiniProf
- ASP.NET Core / MVC 6 ViewModel中的依赖注入(DI
- asp.net – 如何使用文件上传控件选择多个文件?
- asp.net – precompiledApp.config的目的是什么?
- .net – 为每个操作设置MaxAllowedContentLength
- asp.net中的基本形式认证安全性如何?
- asp.net – 评论.aspx
热点阅读
