1.通过一个实例,来了解MVC中强大的验证功能

1.1新建一个 【基本】 的mvc项目,因为要用到验证的js,然后在一个视图中写上一下代码,以及Model中的代码如下

【注】在调用html.EditFor()方法时,会根据实体中的相应属性的DataType特性,来生成相应的标签

【注】Html.ValidationMessageFor()为显示错误信息;如果要将错误集中在一处,可以用Html.ValidationSummary()

1.2.开始测试

【附:DataType的其他枚举】

1.3查看源代码

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Add</title>
<script src="/Scripts/jquery-1.8.2.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
</head>
<body>
<form action="/Home/Modify" method="post"> <table>
<tr>
<td>姓名</td>
<td><input data-val="true" data-val-length="字段 姓名 必须是最大长度为 3 的字符串。" data-val-length-max="3" id="SName" name="SName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="SName" data-valmsg-replace="true"></span>
</td>
</tr>
<tr>
<td><label for="SAge">年龄</label></td>
<td><input class="text-box single-line" data-val="true" data-val-number="字段 年龄 必须是一个数字。" data-val-range="这个位置填>=1并且&lt;=99的值" data-val-range-max="99" data-val-range-min="1" id="SAge" name="SAge" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="SAge" data-valmsg-replace="true"></span>
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Firefox","requestId":"da5289da760b44f8b8c56a9684e0a5bd"}
</script>
<script type="text/javascript" src="http://localhost:6217/e3c73d9e3ac34dfa9df5109ec8422564/browserLink" async="async"></script>
<!-- End Browser Link --> </body>
</html>

原来,这些文本框本身并没有变,只是多了一些属性,当引入 验证的js文件时,根据文本框上的属性,添加相应的js操作。当发现条件不满足时,就不会将表单提交到服务器,实际上是做了如下操作。给表单中的onsubmit属性设置为 返回值为false,这样就不会提交表单了。

2.说说特性

以下是一个特性,它修饰在SName属性上,以及对特性的一些说明

3.其他

3.1用来做比较的Compare

因为客户端的验证永远可以造假,那么我们还要对以上请求的,做服务端的验证

mvc默认是开启的,查看配置文件

最新文章

  1. javase-排序
  2. php获取excel所有的批注
  3. Hadoop op 1)
  4. 高性能 Oracle JDBC 编程
  5. @import导入外部样式表与link链入外部样式表的区别
  6. Windows Azure Active Directory (3) China Azure AD增加新用户
  7. ajax for in eval()知识点的应用
  8. poj2337 欧拉路径
  9. WordPress特制字符串URL重定向限制绕过漏洞
  10. SQL联合索引 与 单一列的索引
  11. perl 回调函数
  12. Java线程中断的本质深入理解(转)
  13. 移动平台下的Socket几个问题
  14. node.js express mvc轻量级框架实践
  15. JS -- The Scope Chain 作用域链
  16. django开发中利用 缓存文件 进行页面缓存
  17. BZOJ3224/洛谷P3391 - 普通平衡树(Splay)
  18. eclipse alt+/智能提示错误问题
  19. Idea中配置Tomcat
  20. Hadoop(三) HADOOP常用命令参数介绍

热门文章

  1. java中List遍历删除元素-----不能直接 list.remove()
  2. 20180705关于mysql binlog的解析方式
  3. P1082||T1200 同余方程 codevs|| 洛谷
  4. mongodb片健的选取及更改
  5. 自己定义ViewpagerIndicator (仿猫眼,加入边缘回弹滚动效果)
  6. UltraEdit UE如何设置自动换行
  7. 你不知道的JavaScript--Item34 大白话解说Promise
  8. ftk学习记(输入框篇)
  9. 正确移除List中对象
  10. android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode