表单数据验证方法(二)——ASP.NET后台验证
昨天写了一下关于如何在前台快捷实现表单数据验证的方法,今天接着昨天的,把后台实现数据验证的方法记录一下。先说明一下哈,我用的是asp.net,所以后台验证方法也是基于.net mvc来做的。
好了,闲言少叙,我回到正题上来啦。
后台实现表单数据验证的方法也是相当简单的,下面看我一步一步的来做哈。(为了单纯的说明表单验证的方法,减少其他不必要的内容的说明,这里我就不涉及数据库了。)
1.新建一个.net mvc应用程序
这一步今天就不详细讲了,有时间的话再写一篇关于如何新建项目和实现简单增删改查功能的博客,巩固自己,顺便帮帮和我一样入地无门的菜鸡们。建好的应用程序如图所示,我的名字起为FormCheck:
2.新建用户信息字段实体数据类User816.cs
(这个命名各位不要去纠结他哈,因为我这里用的不是刚写的热乎代码,而是8月16日写的冷代码,因为晚上时间有限,就不重新写了)
如下图所示,我在Models文件夹中新建一个User816.cs的实体类,代码如下:
namespace FormCheck.Models
{
public class User816
{ public string userName { get; set; } public string passWord { get; set; } public string eMail { get; set; } }
}
这里我们写了三个属性,分别为用户名、密码和邮箱,下面将依次为这几个数据添加校验方法。
主要添加[Required] ,[ StringLength] ,[RegularExpression] 三个吧,因为这三个是最常用的。
(1)Required
首先看看这个方法的定义:
这段代码只需要看到能看懂的汉字就可以了,没错,就是那个 【指定的数据字段的值是必须的】,好了现在我们知道这个是什么意思了,那么问题来了,这个东西怎么用呢?看下面:
[Required(ErrorMessage ="*必填项")]
public string userName { get; set; }
在需要验证的属性上面用中括号将Required包起来,然后可以添加上错误提示信息。怎么样,是不是很简单,哈哈。
(2)StringLength
这个也是一样的,直接看看这个东东的意思和用法,就一笔带过了吧:
用法如下:
[StringLength(,ErrorMessage ="*超过长度了") ]
public string userName { get; set; }
上面的第一个参数【5】指的是字符串的最大长度 ,当然这里并不是只能设置最大长度,也可以设置最小长度,不止如此,还有很多其他的用法,这里我就不细说了,具体的需要用到的同学可以在网上搜索资料。
(3)RegularExpression
这个就比较牛逼了,验证正则表达式:
用法如下:
[RegularExpression(@"^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$", ErrorMessage = "*邮箱格式错误")] //正则表达式
public string eMail { get; set; }
关于这几个验证方法就说到这啦,下面我们看看实际怎么用咯。
3.验证数据
(1)在相应属性上添加想要的验证:
代码如下所示:
namespace FormCheck.Models
{
public class User816
{
[StringLength(,ErrorMessage ="*超过长度了") ]
[Required]
public string userName { get; set; } [Required(ErrorMessage ="*必填项")]
[Range(,,ErrorMessage ="*数字大小超出范围了")]
public string passWord { get; set; } [Required]
[RegularExpression(@"^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$", ErrorMessage = "*邮箱格式错误")] //正则表达式
public string eMail { get; set; } }
}
(2)在前台页面引用User816.cs
首先,在HomeController中新建一个方法,取名为GetInfo(),然后添加对应的视图,然后引用User816:
如图所示:
(3)新建表单
代码如下:
<div>
@using (Html.BeginForm("GetInfoFunc", "Home", FormMethod.Post))
{
@Html.ValidationSummary(true)
<label class="btn-default">姓名</label>
@Html.TextBoxFor(model => model.userName);
@Html.ValidationMessageFor(model => model.userName)
<br>
<label class="btn-default">密码</label>
@Html.TextBoxFor(model => model.passWord);
@Html.ValidationMessageFor(model => model.passWord)
<br>
<label class="btn-default">邮箱</label>
@Html.TextBoxFor(model => model.eMail);
@Html.ValidationMessageFor(model => model.eMail)
<button class="btn-info" id="submit">提交</button> }
</div>
上面的代码中,实现后台校验功能的主要是这一句哦,用的时候千万记得不要搞漏了:
@Html.ValidationMessageFor(model => model.userName) @Html.ValidationMessageFor(model => model.passWord) @Html.ValidationMessageFor(model => model.eMail)
其实只需要这三步已经可以看到效果了,但是为了保证一个表单提交demo的完整性,我就再补上第四步啦,哈哈。
(4)前台提交数据,后台接收
ajax方式提交表单:
<script type="text/javascript">
$(function () {
$("#submit").click(function () {
var userName = $("#userName").val();
var passWord = $("#passWord").val();
var eMail = $("#eMail").val();
$.ajax({
url: "@Url.Action("GetInfoFunc", "Home")",
type: "post",
data: {
userName: userName,
passWord: passWord,
eMail: eMail
},
success: function (data) {
alert(data);
}
});
});
}); </script>
后台创建控制器 GetInfoFunc()接收数据:
[HttpPost]
public ActionResult GetInfoFunc()
{
string userName = Request["userName"];
string passWord = Request["passWord"];
string eMail = Request["eMail"];
return Content(userName + "," + passWord + "," + eMail);
}
4.查看结果
这里实现的效果跟我昨天写的前端js校验的方法差不多哦,而且也非常的简单呢。
好了,今天就写到这里啦,好好学习,天天向上,啊哈哈哈哈哈!
我的eMail:3074596466@qq.com
表单数据验证方法(二)——ASP.NET后台验证的更多相关文章
- jquery ajax异步提交表单数据的方法
使用jquery的ajax方法可以异步提交表单,成功后后台返回json数据,回调函数处理,可以不用刷新页面,达到异步的目的: 处理表单的数据可以用serialize()方法进行序列化,而如果提交的数据 ...
- 在Adobe Reader中保存PDF表单数据的方法
通常,Adobe Reader 用户填写表单后,是无法保存所填表单的副本的.但是,对于 Reader 8 和更高版本的用户,您可以扩展其权限,使他们可以完成此操作.如果您使用的是 Acrobat Pr ...
- react当中两种获取表单数据的方法
方法一: 获取dom当中的数据 需要操作的dom上面有 ref="test", 当需要获取的时候 this.refs.test.value 就可以获取当前输入框的value值 ...
- 使用JQuery将前端form表单数据转换为JSON字符串传递到后台处理
一般地,我们在处理表单(form表单哦)数据时,传输对象或字符串到后台,Spring MVC或SpringBoot的Controller接收时使用一个对象作为参数就可以被正常接收并封装到对象中.这种方 ...
- js 表单验证方法二
function ckReight () { var pass = true; var new = $("#new"); if( new.find('input[name=name ...
- PHP实例 表单数据插入数据库及数据提取 用户注册验证
网站在进行新用户注册时,都会将用户的注册信息存入数据库中,需要的时候再进行提取.今天写了一个简单的实例. 主要完成以下几点功能: (1)用户进行注册,实现密码重复确认,验证码校对功能. (2)注册成功 ...
- 表头表侧边固定,方法二,丫的,复制td
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Java-struts2 通过MODEL接收表单数据的方法
接收数据的时候经常会出问题: 1.记住action = “”到的路径,最好用全路径 <a href="../Struts/user/hello?user.name=xxzzzzzzzz ...
- asp.net 后台验证成功(弹出对话框)并跳转?不能实现
原始 Context.Response.Write("<script></script>"); Response.Redirect(); 解决办法: Cli ...
随机推荐
- GIT的使用流程
GIT的使用流程 1 github注册流程 1 进入github官网:https://github.com/ 2 注册一个自己的github账号 3 右上角选择New repository 4 进入c ...
- Windows上安装配置SSH教程(9)——综合应用:在Windows上使用脚本实现SSH远程登陆与文件传输
服务器端操作系统:Windows XP 客户端操作系统:Windows10 安装与配置顺序 1.服务端安装OpenSSH 2.服务端配置OpenSSH 3.客户端安装Cygwin 4.客户端安装Tcl ...
- 基于 HTML5 的 WebGL 3D 版俄罗斯方块
前言 摘要:2D 的俄罗斯方块已经被人玩烂了,突发奇想就做了个 3D 的游戏机,用来玩俄罗斯方块...实现的基本想法是先在 2D 上实现俄罗斯方块小游戏,然后使用 3D 建模功能创建一个 3D 街机模 ...
- 深入学习Redis(2):持久化
前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化.复制(及读写分离).哨兵.以及集群. 本文将先说明上述几种技术分别解决了Redis高可 ...
- 史上最最靠谱,又双叒叒简单的基于MSXML的XML解析指南-C++
目录 史上最最靠谱,又双叒叒简单的基于MSXML的XML解析指南 流程设计 xml信息有哪几种读取形式(xml文件或wchar) 如何选取节点,and取节点属性有哪些方法? IXMLDOMNode与I ...
- 轻量级原生 ajax 函数,支持 get/array post/array post/json
原生js封装 function ajaxRequest(type, url, data, callback, failCallBack, header, dataType) { var url_enc ...
- 强化学习(十三) 策略梯度(Policy Gradient)
在前面讲到的DQN系列强化学习算法中,我们主要对价值函数进行了近似表示,基于价值来学习.这种Value Based强化学习方法在很多领域都得到比较好的应用,但是Value Based强化学习方法也有很 ...
- asp.net core 系列之webapi集成Dapper的简单操作教程
Dapper也是是一种ORM框架 这里记录下,使用ASP.NET 集成 Dapper 的过程,方便自己查看 至于Dapper的特性以及操作可以参考Dapper官方文档 1.创建数据库相关 在Sql S ...
- 免费开源ERP-成功案例分析(1)
Odoo用户案例 Odoo用户概要 关于Odoo全球的用户,我们来看一些数据: Odoo目前全球有300万使用者 Odoo系统上每天新创建的数据库超过1000个 Odoo和Word.Excel.Pow ...
- Centos7搭建虚拟用户FTP
yum install -y vsftpd #安装ftp服务 useradd -s /sbin/nologin virftp #创建用户,用于ftp服务 vim /etc/vsftpd/vsftpd_ ...