MVC中Remote属性验证

以验证用户名(Email)重复与否为例

设置

1、Model中需要远程验证的属性,新增RemoteAttribute,传入远程验证需要的Controller以及Action名称,也可以设置使用的HTTP方法,并定义错误信息。

[Remote("UniqueEmail","Users",HttpMethod="POST",ErrorMessage="Email已经被注册!")]

2、建立Action处理该Remote

 1 public ActionResult UniqueEmail(string email)
 2 {
 3     var user = db.Users.FirstOrDefault(u => u.Email == email);
 4     if (user != null)
 5     {
 6         return Json(false);
 7     }
 8     else
 9     {
10         return Json(true);
11     }
12 }

注意事项

1、传入的参数名称必须与要验证的属性名称一致。

2、必须使用Json回传

3、只要回传true,就代表成功,账号没重复;回传false就代表失败,并显示默认的错误信息。除此之外,只要任何不是true或false的属性,就被认为是自定义错误信息。

4、如果使用GET方式验证,需要 return Json(false,JsonRequestBehavior.AllowGet);

时间: 2024-10-06 02:36:49

MVC中Remote属性验证的相关文章

ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积02, 在界面实现

在"ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积01, 在控制台实现"中,在控制台应用程序中实现了属性值的笛卡尔乘积.本篇在界面中实现.需要实现的大致如下: 在界面中勾选CheckBoxList中属性值选项: 把勾选的属性值进行笛卡尔乘积,每行需要填写价格: 我们暂且不考虑这些CheckBoxList是如何显示出来的(在后续有关商品模块的文章中会实现),还需考虑的方面包括: 1.从CheckBoxList中获取到什么再往控制器传? 对于每行的CheckBoxList来说

ASP.NET MVC中使用FluentValidation验证实体

1.FluentValidation介绍 FluentValidation是与ASP.NET DataAnnotataion Attribute验证实体不同的数据验证组件,提供了将实体与验证分离开来的验证方式,同时FluentValidation还提供了表达式链式语法. 2.安装FluentValidation FluentValidation地址:http://fluentvalidation.codeplex.com/ 使用Visual Studio的管理NuGet程序包安装FluentVa

ASP.NET MVC中使用窗体验证出现上下文的模型在数据库创建后发生更改,导致调试失败

在ASP.NET MVC中使用窗体验证.(首先要明白,验证逻辑是应该加在Model.View和Controller哪一个里面?由于Model的责任就是负责信息访问与商业逻辑验证的,所以我们把验证逻辑加在Model里面.) 第一步:引用下面这个命名空间 第二步:添加验证 第三步:启动调试,出现以下问题: 解决方法: 超链接中包含了解决这个问题的详细介绍,也就是通过Code First数据库迁移的方式让Entity Framework帮助我们自动调整数据库里面的架构. 解决这个问题最简单的方法就是将

ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积01, 在控制台实现

在电商产品模块中必经的一个环节是:当选择某一个产品类别,动态生成该类别下的所有属性和属性项,这些属性项有些是以DropDownList的形式存在,有些是以CheckBoxList的形式存在.接着,把CheckBoxList的选中项组合生成产品SKU项. 本系列将在ASP.NET MVC中实现以上功能.但本篇,先在控制台实现属性值的笛卡尔乘积. 关于属性的类: public class Prop { public int Id { get; set; } public string Name {

MVC中的数据验证

一  概述 关于数据验证和数据注解,是任何软件系统不可小觑的必要模块,在软件系统中起到举足轻重的作用,主要作用是为了保证数据安全性.防止漏洞注入和网络攻击. 从数据验证的验证方式来说,我们一般分为客户端验证和服务端验证(或者两种方式相结合),本篇文章主要讲解基于ASP.NET MVC框架的数据验证特性和数据注解. 二  数据验证 (一)ASP.NET MVC 内置六大类数据验证特性 在ASP.NET MVC中,验证特性定义在 System.ComponentModel.DataAnnotatio

再议ASP.NET MVC中CheckBoxList的验证

在ASP.NET MVC 4中谈到CheckBoxList,经常是与CheckBoxList的显示以及验证有关.我在"MVC扩展生成CheckBoxList并水平排列"中通过扩展HtmlHelper做到了水平或垂直显示CheckBoxList.在"MVC生成CheckBoxList并对其验证"中,借助模版实现对一组CheckBoxList的验证,但如果要对多组CheckBoxList验证,这种方法也不是很好. 比如,在电商商品模块中,关于某个类别下会有多个属性,有些

asp.net MVC 中 Session统一验证的方法

验证登录状态的方法有:1  进程外Session   2 方法过滤器(建一个类继承ActionFilterAttribute)然后给需要验证的方法或控制器加特性标签 3 :新建一个BaseController  继承Controller   把后面需要验证的控制器都改成继承BaseController   而不是Controller [csharp] view plain copy print? namespace Core.ProjectOA.WebApp.Controllers { publ

MVC中的统一验证机制

using MvcApplication2.Models;using System;using System.Collections.Generic;using System.ComponentModel;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using System.Data.Entity;using System.Globalization;

mvc中的action验证登录(ActionFilterAttribute)

方法一 :  1.创建一个全局action过滤器  (在appstart  的filterconfig中注册   filters.Add(new LoginAttribute());)  2.不需要登录的contoller或者action  则在该类或者action上添加该过滤器特性 (isNeed=false) 方法二: 1.创建一个filter 不在全局注册 2. 创建 一个baseControler ,然后再basecontroller上边添加该filter特性 3.需要登录的则继承该ba