在模型中使用远程安全验证

第一步:定义Action

        [HttpGet] //必须get,必须json
        public ActionResult CheckItemCodeExists(string ItemCode)  //注意参数名称与前端的元素ID(属性名同名)
        {
            string[] itemCodes = { "bmw-x5", "audi-q7"};
            bool isValid = string.IsNullOrEmpty(itemCodes.FirstOrDefault(x => x == ItemCode));
            return Json(isValid, JsonRequestBehavior.AllowGet); //必须get,必须json
        }

第二步:定义Model

    public class ItemModel
    {
        [DisplayName("物料代码")]
        [Required(ErrorMessage = "[物料代码]不能为空")]
        [Remote("CheckItemCodeExists", "Test", ErrorMessage = "[物料代码]已存在")]
        public string ItemCode { get; set; }
    }

第三步:

@model  MvcApplication3.Models.ItemModel

@section header1 {
    <script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
}

@{
    ViewBag.Title = "Index";
}

<h2>添加用户</h2>
<fieldset>
    <legend>添加用户</legend>
    <div>
        @using(Html.BeginForm("index","Test")){
        <p>
            @Html.ValidationSummary(true)

            @Html.LabelFor(m=>m.ItemCode):
            @Html.TextBoxFor(m=>m.ItemCode)
            @Html.ValidationMessageFor(m=>m.ItemCode)
        </p>
        <p>
            <input type="submit" value="提 交" />
        </p>
        }
    </div>
</fieldset>
时间: 2024-10-12 23:36:42

在模型中使用远程安全验证的相关文章

MVC中如何跳过对模型中某个属性的验证

[HttpPost] public ActionResult Create(Users user) { ModelState.Remove(“Password”); //加上这句就行了 if (ModelState.IsValid) { user.Password="admin"; db.Users.Add(user); db.SaveChanges(); return View("Index"); } return View(); }

[Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加视图 [Asp.net MVC]Asp.net MVC5系列——添加模型 [Asp.net MVC]Asp.net MVC5系列——从控制器访问模型中的数据 [Asp.net MVC]Asp.net MVC5系列——添加数据 概述 上篇文章中介绍了添加数据,在提交表单的数据的时候,我们需

Asp.net MVC]Asp.net MVC5系列——在模型中添加

目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列--第一个项目 [Asp.net MVC]Asp.net MVC5系列--添加视图 [Asp.net MVC]Asp.net MVC5系列--添加模型 [Asp.net MVC]Asp.net MVC5系列--从控制器访问模型中的数据 [Asp.net MVC]Asp.net MVC5系列--添加数据 概述 上篇文章中介绍了添加数据,在提交表单的数据的时候,我们需

ThinkPHP中create()方法自动验证

自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 原理: create()方法收集表单($_POST)信息并返回,同时触发表单自动验证,过滤非法字段, 在控制器中使用create()方法,(返回值为true/false),会自动触发模型类中的$_validate属性(为父类Model中的方法,在子类Model中重写),在$_validate中自定义验证规则(验证规则下面会详细说明),当create()方法没有数据即返回值为fals

thinkphp在模型中自动完成session赋值

相信用过thinkphp的用户都知道thinkphp的模型可以完成很多辅助功能,比 如自动验证.自动完成等,今天在开发中遇到自动完成中需要获取session值 然后自动赋值的功能,具体看代码:class ArticlelModel extends Model {        protected $_auto = array (         array('addtime','time',1,'function'),        array('username','getName',1,'c

YII2.0模型中的 rules的使用一

根据官方文档来说,http://www.yiichina.com/doc/guide/2.0/input-validation#standalone-validators    需要对模型中定义规则的 rules方法指定使用范围,否者的话每一次调用保存都会调用这个方法 官方文档解释: 对于每个规则,你至少需要指定该规则适用于哪些特性,以及本规则的类型是什么.你可以指定以下的规则类型之一: 核心验证器的昵称,比如 required.in.date,等等.请参考核心验证器章节查看完整的核心验证器列表

YII用户注冊和用户登录(三)之模型中规则制定和分析

3 模型中规则制定和分析 YII模型主要分为两类,一个数据模型,处理和数据库相关的增删改查.继承CActiveRecord.还有一个是表单模型,继承CFormModel.不与数据库进行交互.操作与数据模型保持一致. 先分析数据模型: 数据模型基本包括四个方法.这里有两个须要注意的地方: 1 还记得视图中有确认password选项吗?数据库中没有这一个字段,不进行处理的话.程序会报错 处理方法:声明这样变量,并将这个变量进行label映射 例如以下: public $password2; // /

最大熵模型中的数学推导

最大熵模型中的数学推导 查看原文,点击这里 0 引言 写完SVM之后,一直想继续写机器学习的系列,无奈一直时间不稳定且对各个模型算法的理解尚不够,所以导致迟迟未动笔.无独有偶,重写KMP得益于今年4月个人组织的算法班,而动笔继续写这个机器学习系列,正得益于今年10月组织的机器学习班. 10月26日机器学习班第6次课,身为讲师之一的邹博讲最大熵模型,他从熵的概念,讲到为何要最大熵.最大熵的推导,以及求解参数的IIS方法,整个过程讲得非常流畅,特别是其中的数学推导.晚上我把他的PPT 在微博上公开分

关于模型中的几个概念或知识点

模型中的属性可以像普通对象属性一样被访问$model->attribute;也可以以数组元素方式访问$model[attribute]. 属性标签 获取属性标签 $model = new \app\models\ContactForm; // 显示为 "Name" echo $model->getAttributeLabel('name'); 场景 给模型设置场景,有两种方式 // 场景作为属性来设置$model = new User;$model->scenario