当前位置: 首页 > 编程笔记 >

asp.net-mvc 远程验证

佘缪文
2023-03-14
本文向大家介绍asp.net-mvc 远程验证,包括了asp.net-mvc 远程验证的使用技巧和注意事项,需要的朋友参考一下

示例

远程验证用于通过向服务器端发送ajax请求来检查输入控件中输入的内容是否有效。

加工

该RemoteAttribute作品通过使从客户端AJAX调用与字段的值的控制动作被验证。然后,控制器操作将返回一个JsonResult指示验证成功或失败的响应。true从您的操作返回表示已通过验证。任何其他值表示失败。如果返回false,则使用在属性中指定的错误消息。如果返回任何其他内容,例如字符串或什至整数,它将显示为错误消息。除非您希望错误消息是动态的,否则返回true或false并让验证程序使用在属性上指定的错误消息是有意义的。

视图模型

public class ViewModel
{
    [Remote("IsEmailAvailable", "Group", HttpMethod = "POST", ErrorMessage = "Email already exists. Please enter a different email address.")]
    public string Email{ get; set; }
}

控制者

[HttpPost]
public JsonResult IsEmailAvailable(string Email)
{
    // 检查电子邮件是否已注册的逻辑。
    var emailExists = IsEmailRegistered();
    return Json(!emailExists);         
}

现场演示小提琴

您可以使用的AdditionalFields属性将模型的其他属性传递给控制器方法RemoteAttribute。典型的场景是以“编辑”形式传递模型的ID属性,以便控制器逻辑可以忽略现有记录的值。

模型

  public int? ID { get; set; }
  [Display(Name = "Email address")]
  [DataType(DataType.EmailAddress)]
  [Required(ErrorMessage = "Please enter you email address")]
  [Remote("IsEmailAvailable", HttpMethod="Post", AdditionalFields="ID", ErrorMessage = "Email already exists. Please enter a different email address.")]  
  public string Email { get; set; }

控制者

[HttpPost]
public ActionResult Validate(string email, int? id)
{
    if (id.HasValue)
    {
        return Json(!db.Users.Any(x =>x.Email== email &&x.ID!= id);
    }
    else
    {
        return Json(!db.Users.Any(x =>x.Email== email);
    }
}

工作演示-其他字段

附加说明

可以理解,默认错误消息含糊不清,因此在使用时,请务必记住要覆盖默认错误消息RemoteAttribute。

 类似资料:
  • 问题内容: 我是AngularJS的新手,正在尝试为我的新Web应用程序对其进行评估。 需求: 我将有一个ASP.NET Web API,它将从Android,iPhone和Web应用程序(ASP.NET MVC)中使用。ASP.NET Identity将在Web API中实现。这三个应用程序都将调用Web API的login方法来获取auth令牌。 问题: 我的问题是当Angular进行调用以获

  • 本文向大家介绍asp.net mvc中Forms身份验证身份验证流程,包括了asp.net mvc中Forms身份验证身份验证流程的使用技巧和注意事项,需要的朋友参考一下 验证流程 一、用户登录 1、验证表单:ModelState.IsValid 2、验证用户名和密码:通过查询数据库验证 3、如果用户名和密码正确,则在客户端保存Cookie以保存用户登录状态:SetAuthCookie     1

  • 本文向大家介绍详解ASP.NET MVC Form表单验证,包括了详解ASP.NET MVC Form表单验证的使用技巧和注意事项,需要的朋友参考一下 一、前言   关于表单验证,已经有不少的文章,相信Web开发人员也都基本写过,最近在一个个人项目中刚好用到,在这里与大家分享一下。本来想从用户注册开始写起,但发现东西比较多,涉及到界面、前端验证、前端加密、后台解密、用户密码Hash、权限验证等等,

  • ASP.NET MVC 在现有的 ASP.NET 3.5运行时的基础上提供了一个新的 MVC 框架。开发人员可以用 MVC 设计模式来构建Web应用,做到清晰的概念分离(UI 或者视图与业务应用逻辑分离, 应用逻辑和后端数据分离),同时还可以使用测试驱动开发。ASP.NET MVC 框架为 Web 应用的目录结构定义了一个专用的模式,还提供了一个 controller 基类,用来处理发动到“act

  • 问题内容: 我在MVC 4和AngularJS(+ twitter bootstrap)中有一个项目。我通常在MVC项目中使用“ jQuery.Validate”,“ DataAnnotations”和“ Razor”。然后,在我的web.config中启用这些密钥,以在客户端上验证模型的属性: 例如,如果我的模型中有以下内容: 使用此Cshtml: html结果将是: 但是现在当我使用Angul

  • 本文向大家介绍ASP.NET MVC 数据验证及相关内容,包括了ASP.NET MVC 数据验证及相关内容的使用技巧和注意事项,需要的朋友参考一下 一、数据验证 数据验证的步骤在模型类中添加与验证相关的特性标记在客户端导入与验证相关的js文件和css文件使用与验证相关的Html辅助方法在服务器端判断是否通过服务器端验证常用的验证标记                     Required:非空验