Model Validation 和测试Post参数
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.ComponentModel.DataAnnotations;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- namespace MvcModelApp
- {
- [MetadataType(typeof(UserMetadata))]
- public partial class tb_User
- {
- public string RePwd { get; set; }
- }
- public class UserMetadata
- {
- [DisplayName("用户名")]
- [Remote("NotExitesUserName", "Home")]
- public string UserName { get; set; }
- [DisplayName("备注")]
- [DataType(DataType.MultilineText)]
- public string Remark { get; set; }
- [DisplayName("年龄")]
- [Range(, )]
- public int Age { set; get; }
- [DisplayName("密码")]
- [PasswordPropertyText]
- public string Pwd { get; set; }
- [PasswordPropertyText]
- [DisplayName("重述密码")]
- [System.Web.Mvc.Compare("Pwd")]
- public string RePwd { get; set; }
- [Email]
- public string Email { get; set; }
- }
- public class EmailAttribute : RegularExpressionAttribute
- {
- public EmailAttribute()
- : base(@"^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$")
- { }
- }
- }
- //------------------------------------------------------------------------------
- // <auto-generated>
- // This code was generated from a template.
- //
- // Manual changes to this file may cause unexpected behavior in your application.
- // Manual changes to this file will be overwritten if the code is regenerated.
- // </auto-generated>
- //------------------------------------------------------------------------------
- 这个是ADO.NET EF 自动生成的类
- namespace MvcModelApp
- {
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.ComponentModel.DataAnnotations;
- using System.Web.Mvc;
- public partial class tb_User
- {
- public int ID { get; set; }
- public string UserName { get; set; }
- public string Remark { get; set; }
- public int Age { get; set; }
- public string Pwd { get; set; }
- public string Email { get; set; }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- namespace MvcModelApp.Controllers
- {
- public class HomeController : Controller
- {
- //
- // GET: /Home/
- private TestMvcEntities db = new TestMvcEntities();
- public ActionResult Index()
- {
- var list = db.tb_User.ToList();
- return View(list);
- }
- public ActionResult Register()
- {
- tb_User model = new tb_User();
- return View(model);
- }
- [HttpPost]
- public ActionResult Register(tb_User model)
- {
- if (ModelState.IsValid)
- {
- db.tb_User.Add(model);
- db.SaveChanges();
- return RedirectToAction("Index");
- }
- else
- {
- return View();
- }
- }
- [HttpGet]
- public JsonResult NotExitesUserName()
- {
- string UserName = Request.Params["UserName"];
- var user = db.tb_User.Where(c => c.UserName == UserName).FirstOrDefault();
- return user == null ? Json(true, JsonRequestBehavior.AllowGet) : Json(false, JsonRequestBehavior.AllowGet);
- }
- public JsonResult TestArr(List<string> arr)
- {
- //string ss=
- return Json(new {success= });
- }
- }
- }
- @model IEnumerable<MvcModelApp.tb_User>
- @{
- ViewBag.Title = "Index";
- }
- <script src="~/Scripts/jquery-1.7.2.min.js"></script>
- <script src="~/Scripts/jquery.validate.js"></script>
- <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
- <h2>Index</h2>
- <script type="text/javascript">
- $(document).ready(function () {
- //$(":text").map(function () {
- // alert($(this).val());
- //})
- var arr = new Array();
- //var objstr = $(":text").map(function () {
- // return $(this).text();
- //}).get().join(",");
- $("#btnTest").click(function () {
- // $(":text").each(function () { alert($(this).val());});
- $("input[id^='txt']").each(function () {
- arr.push($(this).val());
- // alert($(this).val());
- });
- // var jsonobj = {"arr":arr,"ljj":"1"};
- $.ajax({
- type: "POST",
- url: "@Url.Action("TestArr", "Home")",
- data: JSON.stringify(arr),
- contentType: "application/json",
- success: function (data, status) {
- alert(data);
- }
- });
- // var str = arr.join(",");
- // alert(str);
- });
- });
- // var obj =
- </script>
- <p>
- <input type="text" id="txt1" />
- <input type="text" id="txt2" />
- <input type="text" id="txt3" />
- <input type="text" id="txt4" />
- <input id="btnTest" type="button" value="测试传递数组对象" />
- </p>
- <p>
- @Html.ActionLink("Register","Register", "Home")
- </p>
- <table>
- <tr>
- <th>
- @Html.DisplayNameFor(model => model.RePwd)
- </th>
- <th>
- @Html.DisplayNameFor(model => model.UserName)
- </th>
- <th>
- @Html.DisplayNameFor(model => model.Remark)
- </th>
- <th>
- @Html.DisplayNameFor(model => model.Age)
- </th>
- <th>
- @Html.DisplayNameFor(model => model.Pwd)
- </th>
- <th>
- @Html.DisplayNameFor(model => model.Email)
- </th>
- <th></th>
- </tr>
- @foreach (var item in Model) {
- <tr>
- <td>
- @Html.DisplayFor(modelItem => item.RePwd)
- </td>
- <td>
- @Html.DisplayFor(modelItem => item.UserName)
- </td>
- <td>
- @Html.DisplayFor(modelItem => item.Remark)
- </td>
- <td>
- @Html.DisplayFor(modelItem => item.Age)
- </td>
- <td>
- @Html.DisplayFor(modelItem => item.Pwd)
- </td>
- <td>
- @Html.DisplayFor(modelItem => item.Email)
- </td>
- <td>
- @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
- @Html.ActionLink("Details", "Details", new { id=item.ID }) |
- @Html.ActionLink("Delete", "Delete", new { id=item.ID })
- </td>
- </tr>
- }
- </table>
- @model MvcModelApp.tb_User
- @{
- ViewBag.Title = "Register";
- }
- <script src="~/Scripts/jquery-1.7.2.min.js"></script>
- <script src="~/Scripts/jquery.validate.js"></script>
- <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
- <h2>Register</h2>
- @using (Html.BeginForm("Register","Home",null,FormMethod.Post,new {id="form1"}))
- {
- <table>
- <tr>
- <td>@Html.Display("UserName")</td>
- <td>@Html.TextBoxFor(x=>x.UserName)@Html.ValidationMessageFor(x=>x.UserName)</td>
- </tr>
- <tr>
- <td>@Html.DisplayFor(x=>x.Age)</td>
- <td>@Html.TextBoxFor(x=>x.Age)@Html.ValidationMessageFor(x=>x.Age)</td>
- </tr>
- <tr>
- <td>@Html.DisplayFor(x=>x.Pwd)</td>
- <td>@Html.TextBoxFor(x=>x.Pwd)@Html.ValidationMessageFor(x=>x.Pwd)</td>
- </tr>
- <tr>
- <td>@Html.DisplayFor(x=>x.RePwd)</td>
- <td>@Html.TextBoxFor(x=>x.RePwd)@Html.ValidationMessageFor(x=>x.RePwd)</td>
- </tr>
- <tr>
- <td>@Html.DisplayFor(x=>x.Email)</td>
- <td>@Html.TextBoxFor(x=>x.Email)@Html.ValidationMessageFor(x=>x.Email)</td>
- </tr>
- <tr>
- <td>@Html.DisplayFor(x=>x.Remark)</td>
- <td>@Html.TextBoxFor(x=>x.Remark)@Html.ValidationMessageFor(x=>x.Remark)</td>
- </tr>
- <tr>
- <td colspan=""><input type="submit" value="注册"/></td>
- </tr>
- </table>
- }
Model Validation 和测试Post参数的更多相关文章
- 训练集(train set) 验证集(validation set) 测试集(test set)
转自:http://www.cnblogs.com/xfzhang/archive/2013/05/24/3096412.html 在有监督(supervise)的机器学习中,数据集常被分成2~3个, ...
- <转>ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解
MVC 3 数据验证 Model Validation 详解 再附加一些比较好的验证详解:(以下均为引用) 1.asp.net mvc3 的数据验证(一) - zhangkai2237 - 博客园 ...
- [机器学习] 训练集(train set) 验证集(validation set) 测试集(test set)
在有监督(supervise)的机器学习中,数据集常被分成2~3个即: 训练集(train set) 验证集(validation set) 测试集(test set) 一般需要将样本分成独立的三部分 ...
- AI---训练集(train set) 验证集(validation set) 测试集(test set)
在有监督(supervise)的机器学习中,数据集常被分成2~3个即: 训练集(train set) 验证集(validation set) 测试集(test set) 一般需要将样本分成独立的三部分 ...
- 训练集(train set) 验证集(validation set) 测试集(test set)。
训练集(train set) 验证集(validation set) 测试集(test set). http://blog.sina.com.cn/s/blog_4d2f6cf201000cjx.ht ...
- Model Validation in ASP.NET Web API
Model Validation in ASP.NET Web API 原文:http://www.asp.net/web-api/overview/formats-and-model-binding ...
- Model Validation in Asp.net MVC
原文:Model Validation in Asp.net MVC 本文用于记录Pro ASP.NET MVC 3 Framework中阐述的数据验证的方式. 先说服务器端的吧.最简单的一种方式自然 ...
- paip.提升性能---mysql 性能 测试以及 参数调整.txt
paip.提升性能---mysql 性能 测试以及 参数调整.txt 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://b ...
- [转载]SOAPUI压力测试的参数配置
原文地址:SOAPUI压力测试的参数配置作者:goooooodlife The different Load Strategies available in soapUI and soapUI Pro ...
随机推荐
- JS bind()方法、JS原生实现bind()
一.arguments的含义 // arguments 是一个对应于传递给函数的参数的类数组对象 function a(){ console.log(arguments); } a(); // Arg ...
- !important面试汇总啊
https://www.jianshu.com/p/feab89b88d6b https://juejin.im/post/5c64d15d6fb9a049d37f9c20#heading-57
- Cisco AP-如何识别思科胖瘦AP
思科的胖瘦AP识别的方式不止一种,这里简单的总结一些我了解到的方式: 1.根据思科AP的型号 这个和思科不同时期的产品有关系,老一点的和新一些的AP命名上存在差别,这里简单举例: 类型1:AIR-LA ...
- POJ3662 Telephone Lines (dijkstra+二分)
Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncoop ...
- Update(stage3):第1节 redis组件:8、主从复制架构;9、Sentinel架构
8.redis的主从复制架构 在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(ma ...
- Python 基础之面向对象之装饰器@property
一.定义 装饰器@property可以把方法变成属性使用作用: 控制类内成员的获取 设置 删除获取 @property设置 @自定义名.setter删除 @自定义名.deleter 二.具体实现 1. ...
- Linux中常用命令的使用(一)
这次只讲常用命令 先说命令的组成:命令一般由 (选项.命令.参数) 组成 下面就从开启一个Ubuntu开始说起 1.用户登录:在putty环境下,输完用户名在输入密码 别人想知道你用的linux系统 ...
- [转]使用Struts 2防止表单重复提交
转自 用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消费了多次.因此, ...
- centos将celery写入系统服务
第一步: 在/etc/下创建目录 celery/celery.conf 代码如下: CELERYD_NODES='w1 w2 w3' # 启动的celery进程的进程名 CELERY_BIN='/ro ...
- P1025数的划分
P1025数的划分 #include <iostream> using namespace std; int n,k; int cnt; void dfs(int s,int step,i ...