比较(密码)属性

2024-07-04

我想使用下面的代码为新用户创建一个视图模型。 “User”类仅包含我将保留到数据库的两个属性(目前已简化);视图模型添加了一个“比较密码”字段,该字段仅在视图中使用。我更喜欢让视图模型直接使用“User”类,而不是重复“User”中定义的所有字段。

我的问题是如何在“ComparePassword”字段的 [Compare] 属性中正确引用“User.Password”?

public class User
{
   [Required]
   public string UserName { get; set; }

   [Required]
   [DisplayName("Password")]
   [DataType(DataType.Password)]
   public string Password { get; set; }
}
public class NewUserViewModel
{
    public User User { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [DisplayName("Re-enter Password")]
    [Compare("Password", ErrorMessage="Passwords must match")]
    public string ComparePassword { get; set; }
}

为“Password”和“ComparePassword”生成的 HTML 如下。

<input class="text-box single-line password" 
  data-val="true" 
  data-val-required="The Password field is required." 
  id="User_Password" 
  name="User.Password" 
  type="password" value="" />

<input class="text-box single-line password" 
  data-val="true" 
  data-val-equalto="Passwords must match" 
  data-val-equalto-other="*.Password"
  data-val-required="The Re-enter Password field is required." 
  id="ComparePassword" 
  name="ComparePassword" 
  type="password" value="" />

关键是如何“数据值等于其他" 由 Javascript 处理。如果我使用 "Password" or "用户密码“没有任何反应 - 不执行任何检查。如果我使用”用户密码“检查已执行但总是失败。

直接在 jQuery 中执行此操作没有任何实际问题,但如果可能的话,我更愿意使用 [Compare] 属性。


刚刚通过 StackOverflow 和 Microsoft Connect 找到了答案:

See:

http://connect.microsoft.com/VisualStudio/feedback/details/665793/jquery-unobtrusive-validate-equalto-fails-with-compare-attribute http://connect.microsoft.com/VisualStudio/feedback/details/665793/jquery-unobtrusive-validate-equalto-fails-with-compare-attribute and JQuery 1.5 破坏了比较验证(JQuery Validate 1.8) https://stackoverflow.com/questions/5117458/jquery-1-5-breaks-compare-validate-jquery-validate-1-8

总而言之,它看起来像是 MVC3 附带的 jquery.validate.unobtrusive 文件中的一个错误。解决方法是更改​​ jquery.validate.unobtrusive 文件中的以下行。

element = $(options.form).find(":input[name=" + fullOtherName + "]")[0];

to

element = $(options.form).find(":input[name=" + fullOtherName.replace(".", "\\.") + "]")[0];

在 Microsoft Connect 上,它说 MS 已修复它,但我找不到新版本的链接。无论如何,这同时对我有用。希望能帮助到你

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较(密码)属性 的相关文章

  • 数据类型与 UiHint

    我已经使用 mvc2 一段时间了 当我需要设置模板时 我使用 DataType 属性 DataType DropDown public int Field get set 我看到其他人使用 UiHint 来达到相同的结果 UiHint Dr
  • @media 媒体查询和 ASP.NET MVC razor 语法冲突

    我有一个使用 Razor 视图引擎在 ASP NET MVC 中运行的大型网站 我有一个基本样式表 其中包含整个网站的所有通用样式 然而 有时我会在页面中设置特定的样式页面的内容 通常是一行或两行 我不太喜欢把 CSS 放进去因为它不是严格
  • 是否应该在使用 MVC 的每个视图中使用 ViewModel?

    我了解您使用 ViewModel 来存储来自其他模型和源的不同数据以在视图中使用 因为模型并不总是包含您想要的内容 我试图弄清楚为每个视图使用 ViewModel 是否合适 我问的原因是出于一致性原因 您可以有一个仅需要模型本身的视图 以及
  • 此时无法启动异步操作调用WebService出现异常?

    在我的 ASP NET MVC 3 项目中 我调用 Web 服务进行登录身份验证 但它抛出一个异常 异常详细信息 此时无法启动异步操作 异步操作只能在异步处理程序或模块内启动 或者在页面生命周期中的某些事件期间启动 如果在执行页面时发生此异
  • 删除 Razor MVC 3 中的 HTML 格式

    我正在使用 MVC 3 和 Razor View 引擎 我正在尝试做什么 我正在使用 MVC 3 制作博客 我想删除所有 HTML 格式标签 例如 p b i etc 为此 我使用以下代码 它确实有效 post PostContent po
  • 如何创建像 Html.BeginForm 这样的 Html Helper

    我有一个扩展方法 可以根据角色验证用户是否能够看到网页的一部分 如果我简单地删除内容 这会给我带来更多工作 因为所有丢失的表单在保存时都不会正确注册 我必须通过修改所有代码来处理这种行为 所以我想为什么不直接使用display none 属
  • 在 ajax post 之前使用 unobtrusive 进行验证

    所以我一直在玩弄防伪令牌 取得进展 https stackoverflow com questions 7270387 mvc 3 ajax and validateantiforgerytoken谢谢你们 我已经找到了一个解决方案来合并表
  • Java 中使用 PBKDF2 进行密码验证

    我正在用 Java 进行基于密码的文件加密 我使用 AES 作为底层加密算法PBKDF2WithHmacSHA1使用以下代码从盐和密码组合中派生密钥 我从本网站上的另一位慷慨的海报获得 SecretKeyFactory f SecretKe
  • 在 MVC3 中创建下拉列表

    我正在尝试创建一个下拉列表来显示自定义集合类中的所有值 例如 public class MyCustomClassCollection public List
  • 将自定义 ValueProviderFactories 添加到 ASP.NET MVC3?

    我试图尝试将 Protobuf ValueProviderFactory 添加到 MVC3 以便我可以选择 MIME 类型并将原始数据反序列化为操作参数的对象 我还可以使用它来更改默认的 Json 序列化器 看着JsonValueProvi
  • filters.Add 与 FilterProviders.Providers.Add

    我遇到了一个示例 MVC3 代码 其中包含以下内容Global asax file public static void RegisterGlobalFilters filters Add new MyFilter1 var provide
  • 从控制器返回 html 字符串并显示在视图中

    如何返回包含字符串属性的模型 li 元素并在视图中显示它 如果我只写 Model Messages 它会显示所有字符串 我需要 html 格式 您可以使用Content带有 Content Type 的方法text html直接返回HTML
  • 用于检查输入字符串是否为波斯语的正则表达式

    我使用 MVC 但我是新手 我想检查输入值是否仅采用波斯语 字符 RegularExpression 验证 所以我想使用正则表达式并需要检查 unicode 的范围 但我不知道如何找到波斯语字符 Unicode 的范围 我对这个正则表达式的
  • HiddenInput(DisplayValue = false)] 与 [ScaffoldColumn(false)]

    究竟是什么ScaffoldColumn false and HiddenInput DisplayValue false 这两者之间的主要区别是什么 用哪一款最好 谢谢 ScaffoldColumn false 告诉 Visual Stud
  • 循环引用和ScriptIgnore问题

    我有几个相互引用的 BusinessObject 类 我需要在 JsonResponse 中序列化一个类并将其返回到我的视图 我不断收到循环引用异常 但无法摆脱它 我已经放置了 ScriptIgnore 每个不是简单数据类型属性的属性上的装
  • 如何将 MVC 操作参数重新映射到另一个参数名称?

    我必须实现一个像这样调用的 MVC 操作 http address Controller MyAction resName name 它由第三方调用 并通过硬编码传递resName 所以天真的方法是采取这样的行动 ActionResult
  • 自定义注释的客户端验证 Asp.Net MVC 4

    我参考这篇文章 http haacked com archive 2009 11 19 aspnetmvc2 custom validation aspx http haacked com archive 2009 11 19 aspnet
  • 用户频繁注销(默认会员提供商)

    我在共享主机上部署了 asp net mvc 3 站点 我的问题是我的网站经常在 5 到 10 分钟后自动注销用户 虽然我在 web config 和 application start 中将时间设置为 200 分钟 如下所示
  • 如何在 razor 中创建 JavaScript 字符串

    我看过一些关于这个主题的帖子和一些博客 但似乎没有提到我得到的输出 我想要的是生成一个带有信息的谷歌地图 手动输入信息会产生正确的信息 所以这部分有效 当我要使用包含我想要在地图上显示的信息的字符串动态创建 JavaScript 数组时 我
  • MVC3 – ViewModel 和控制器功能:建议的设计模式

    我为一个不太可用的呼叫中心应用程序构建了一个简单的基于 MVC3 的票务输入站点 并尝试重构我的原型以更好地遵循设计模式 部分原因是为了使其更易于维护 但主要是作为一种学习练习 面向用户的视图是一种由基本用户信息以及允许选择各种资源类型的面

随机推荐

  • android finish() 方法不会从内存中清除应用程序

    我有一个活动 我调用 finish 方法 但该活动没有从内存中清除 调用 finish 后 我看到 onDestroy 方法已成功执行 并且我清除了其中的所有变量和内容 应该从内存中清除它还是android的工作方式 据我了解 活动的生命周
  • 如何在MIPS汇编编程中打印数字的前几位? [复制]

    这个问题在这里已经有答案了 我是 MIPS Assembly 编程的初学者 我想知道在读入数字后如何打印数字的第一个数字 data number 1 word text read in first number li v0 5 syscal
  • 为什么Scala 支持影子变量? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Python 与 Hive 的连接

    我安装了 Hortonworks Hive ODBC 驱动程序并在数据源中创建了连接 我测试了它并且成功了 我安装了PyODBC并编写了以下代码 import os sys pyodbc con pyodbc connect DSN MyC
  • Python Selenium Webdriver - 代理身份验证

    我想将 Selenium Webdriver 与需要用户身份验证的代理一起使用 这可能吗 这就是我到目前为止所拥有的 但我不知道在哪里放置凭据 user pass proxy port from selenium import webdri
  • .NET 中是否有任何集合可以防止空条目?

    我特别考虑的是履行一套合同的集合 但我认为这个问题可以适用于任何类型 NET 框架中是否存在可以防止空条目的集合 我想要的具体行为是这样的 var set new HashSet bool added set Add null Consol
  • 使用 insertUI 方法创建不同的闪亮小部件

    我有下面的闪亮应用程序 用户可以在数据框中选择一个或多个列名称 name lt c John Jack Bill value1 lt c 2 4 6 add lt c SDF GHK FGH value2 lt c 3 4 5 dt lt
  • 在 Docker 容器中运行不同的 Linux 操作系统?

    我一直在尝试学习 Docker 但令我困惑的一件事是 不同风格的 Linux 对于主机操作系统 实际上是如何在 Docker 容器中运行的 如果我们假设我的 Docker 主机正在运行 RedHat 并且我从 Ubuntu 映像启动一个容器
  • 在头文件 (.h) 中声明构造函数然后在类文件 (.cpp) 中定义 C++ 的语法 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果有人可以解决这个问题 我将不胜感
  • 通过 HAVING(不同)进行分组:PHP、MYSQL

    id mid pid owgh nwgh 1 3 12 1 5 0 6 2 3 12 1 5 0 3 3 3 14 0 6 0 4 4 3 15 1 2 1 1 5 4 16 1 5 1 0 6 4 17 2 4 1 2 7 3 19 3
  • Android RecyclerView:拖放多个ViewType

    I implement drag and drop for a RecyclerView it works well when have one View type but reset the RecyclerView when have
  • 与数据库同步的基于 PHP 的数据库模型?

    Django 模型真的很酷 因为您可以在代码中定义所有模型 表 然后将其与数据库同步 这样 当您去更新生产服务器时 您只需运行迁移 同步脚本 并且不会忘记更新任何表 我现在正在从事的项目不是基于 Django 或 Python 而是用 PH
  • lldb:无法实现:无法获取变量的值

    我用这个命令行编译了一个cpp文件 g g test cpp 它在第 28 行抛出异常 我想通过检查 lldb 中的变量来调查原因 我在第 28 行设置了一个断点并运行a out在LLDB中 lldb n Process 84233 sto
  • 是否有任何函数可用于在 postgresql 中查找指定索引后的字符串位置

    Postgres 中可用的函数 strpos string substring eg strpos my name is database m 返回 1 我的要求是返回指定索引之后子字符串的位置 strpos string substrin
  • Delphi 中字符串的 CompareStr 和 '=' 之间的区别

    我只是想知道之间的区别CompareStr and 用于比较 Delphi 中的字符串 两者产生相同的结果 if str2 i str1 i then ShowMessage Palindrome if CompareStr str2 i
  • “电子打包器”不被识别为内部或外部命令

    我最近开始使用电子 我通过创建 hello world 应用程序 包括文件 index html main js package json 成功完成了第一阶段 现在我尝试使用电子打包器打包应用程序 但收到此错误 我遵循的步骤 创建了一个名为
  • 如何在 eclipse 中安装最新版本的 Xuggler(5.4,截至 18/05/2013)?

    我真的不知道从哪里开始这样做 我已经从网站下载了必要的 Jar 并对如何在 Eclipse 中安装 Xuggler 进行了一些研究 但所有内容都已过时或不相关 我的系统是 64 位 Windows 8 大多数在 Vista 和 Window
  • 在Python中返回外部函数错误

    这就是问题 给定以下 Python 程序 假设用户从键盘输入数字 4 返回的值是多少 N int input enter a positive integer counter 1 while N gt 0 counter counter N
  • 使用属性初始化 Angular 2 组件[重复]

    这个问题在这里已经有答案了 有没有办法将参数传递到 Angular 2 组件的根 我已经能够使用属于内部组件模板一部分的组件来执行此操作 但不能使用根组件来执行此操作
  • 比较(密码)属性

    我想使用下面的代码为新用户创建一个视图模型 User 类仅包含我将保留到数据库的两个属性 目前已简化 视图模型添加了一个 比较密码 字段 该字段仅在视图中使用 我更喜欢让视图模型直接使用 User 类 而不是重复 User 中定义的所有字段