C# MVC 验证Model

杨柳晓枫 2014-11-04 10:14:02
两个属性,其中一个不选,另一个必填,这样验证怎么写,需要用model的验证attribute去验证。
...全文
186 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
杨柳晓枫 2014-11-04
  • 打赏
  • 举报
回复
引用 4 楼 moonwrite 的回复:
Model 继承 : IValidatableObject public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) { var errorList = new List<ValidationResult>(); if xxx errorList.Add(new ValidationResult( 提示信息", new[] { "Model对应的字段名" })); return errorList; } } 前端的 自己用js实现 $("#btnSubmit").click(function () {//btnSubmit 这个按钮不是submit 是普通的button $form = $(this).parents("form"); if (a> b) { $("span[data-valmsg-for=Mode字段名]").attr("class", "field-validation-error").text("提示信息"); return false; } else { $("span[data-valmsg-for=Mode字段名]]").attr("class", "field-validation-valid").text(""); return true; } if () { } else { return; } if (!$form.valid()) return; else { $(this).attr("disabled", "disabled").val("请稍等..."); $form.submit(); } });
能用attribute去实现么?
moonwrite 2014-11-04
  • 打赏
  • 举报
回复
Model 继承 : IValidatableObject public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) { var errorList = new List<ValidationResult>(); if xxx errorList.Add(new ValidationResult( 提示信息", new[] { "Model对应的字段名" })); return errorList; } } 前端的 自己用js实现 $("#btnSubmit").click(function () {//btnSubmit 这个按钮不是submit 是普通的button $form = $(this).parents("form"); if (a> b) { $("span[data-valmsg-for=Mode字段名]").attr("class", "field-validation-error").text("提示信息"); return false; } else { $("span[data-valmsg-for=Mode字段名]]").attr("class", "field-validation-valid").text(""); return true; } if () { } else { return; } if (!$form.valid()) return; else { $(this).attr("disabled", "disabled").val("请稍等..."); $form.submit(); } });
杨柳晓枫 2014-11-04
  • 打赏
  • 举报
回复
两个属性其中有一个必填,也就是两个不能同时为空
mc_dv 2014-11-04
  • 打赏
  • 举报
回复
记得结贴哦 .
mc_dv 2014-11-04
  • 打赏
  • 举报
回复
  [Required]   public string ClientName { get; set; }   [DataType(DataType.Date)]   [Required(ErrorMessage="Please enter a date")]   public DateTime Date { get; set; }
moonwrite 2014-11-04
  • 打赏
  • 举报
回复
server段就是要你的模型实现IValidatableObject接口啊~~~ 能用attribute去实现么? 就是attribute不能实现 所以采用IValidatableObject + 自定义js的嘛~ 给你关键词了 你就不会搜搜看么 http://www.cnblogs.com/bjs007/archive/2011/01/27/1946419.html
  • 打赏
  • 举报
回复
attribute其实也就是翻译成js实现的, 还是js比较适合
杨柳晓枫 2014-11-04
  • 打赏
  • 举报
回复
引用 4 楼 moonwrite 的回复:
Model 继承 : IValidatableObject public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) { var errorList = new List<ValidationResult>(); if xxx errorList.Add(new ValidationResult( 提示信息", new[] { "Model对应的字段名" })); return errorList; } } 前端的 自己用js实现 $("#btnSubmit").click(function () {//btnSubmit 这个按钮不是submit 是普通的button $form = $(this).parents("form"); if (a> b) { $("span[data-valmsg-for=Mode字段名]").attr("class", "field-validation-error").text("提示信息"); return false; } else { $("span[data-valmsg-for=Mode字段名]]").attr("class", "field-validation-valid").text(""); return true; } if () { } else { return; } if (!$form.valid()) return; else { $(this).attr("disabled", "disabled").val("请稍等..."); $form.submit(); } });
能否详细说一下server端怎么写啊

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧