加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 即使密码相同,比较验证器总是会启动

发布时间:2020-12-16 03:21:03 所属栏目:asp.Net 来源:网络整理
导读:这就是原因所在.这是生成的 HTML: div label for="RegisterModel_Password"Contrase#241;a/label input class="text-box single-line password" data-val="true" data-val-length="Su Contraseamp;#241;a debe tener al menos 6 caracteres." data-val-leng
这就是原因所在.这是生成的 HTML:

<div>
        <label for="RegisterModel_Password">Contrase&#241;a</label>
        <input class="text-box single-line password" data-val="true" data-val-length="Su Contrase&amp;#241;a debe tener al menos 6 caracteres." data-val-length-max="100" data-val-length-min="6" data-val-required="Debe escribir su contrase&amp;#241;a" id="RegisterModel_Password" name="RegisterModel.Password" type="password" value="" />
        <span class="field-validation-valid" data-valmsg-for="RegisterModel.Password" data-valmsg-replace="true"></span>

    </div>

    <div>
        <label for="RegisterModel_ConfirmPassword">Confirme Su Contrase&#241;a</label>
        <input class="text-box single-line password" data-val="true" data-val-equalto="Sus contrase&amp;#241;as no son las mismas." data-val-equalto-other="*.Password" id="RegisterModel_ConfirmPassword" name="RegisterModel.ConfirmPassword" type="password" value="" />
        <span class="field-validation-valid" data-valmsg-for="RegisterModel.ConfirmPassword" data-valmsg-replace="true"></span>
    </div>

请注意,在确认密码框中:

data-val-equalto-other="*.Password"

这应该是RegisterModel.Password,因为我猜测javascript看起来像名为“RegisterModel.Password”的输入,不是吗?

这是我的型号代码:

[Required(ErrorMessage = "Debe escribir su contrase?a")]
[StringLength(100,ErrorMessage = "Su {0} debe tener al menos {2} caracteres.",MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Contrase?a")]
public string Password { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirme Su Contrase?a")]
[Compare("Password",ErrorMessage = "Sus contrase?as no son las mismas.")]
public string ConfirmPassword { get; set; }

有关为什么会发生这种情况的任何想法?

刚刚创建了一个全新的MVC3应用程序,这就是模型:

[Required]
[StringLength(100,ErrorMessage = "The {0} must be at least {2} characters long.",MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password",ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }

验证工作正常.这里唯一的区别是他们直接在视图中使用模型,而我正在传递一个包含RegisterModel的* View *模型.

这个工作默认值的HTML与我的不同:

<div class="editor-field">
            <input data-val="true" data-val-length="The Password must be at least 6 characters long." data-val-length-max="100" data-val-length-min="6" data-val-required="The Password field is required." id="Password" name="Password" type="password" />
            <span class="field-validation-valid" data-valmsg-for="Password" data-valmsg-replace="true"></span>
        </div>

        <div class="editor-label">
            <label for="ConfirmPassword">Confirm password</label>
        </div>
        <div class="editor-field">
            <input data-val="true" data-val-equalto="The password and confirmation password do not match." data-val-equalto-other="*.Password" id="ConfirmPassword" name="ConfirmPassword" type="password" />
            <span class="field-validation-valid" data-valmsg-for="ConfirmPassword" data-valmsg-replace="true"></span>
        </div>

解决方法

你好我遇到了和你相同的问题.发生这种情况是因为javascript文件中存在执行验证的错误.这是你必须要做的修复.

http://forums.asp.net/t/1716181.aspx/1

在最小化版本中找到并不难,这是我必须改变的.

Saludos!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读