2013-05-28 3 views
1

На моем взгляде, у меня есть 2 пароля поле:проверки пароля JQuery

@Html.PasswordFor(m => m.Password)<br /> 
    @Html.PasswordFor(m => m.ConfirmPassword)<br /> 

Теперь я ищу способ использовать мой яваскрипт функцию ниже этих двух полей.

function addCustomMessages() { 
    $("#password_confirm").rules("add", { 
     required: true, 
     equalTo: "#password", 
     messages: { 
      required: "Herhaal uw wachtwoord", 
      equalTo: "Enter the same password as above" 
     } 
    }); 
} 

Как я могу сказать @Html.PasswordFor(m => m.ConfirmPassword) он нуждается т использовать #password-confirm

EDIT:

Вид:

    @Html.PasswordFor(m => m.Password, new { @id="password", @class = "equalTo" })<br /> 
        @Html.PasswordFor(m => m.ConfirmPassword, new { @id="password_confirm", @class = "equalTo" })<br /> 

Javascript:

/* 
* Translated default messages for the jQuery validation plugin. 
* Locale: NL (Dutch; Nederlands, Vlaams) 
*/ 
(function ($) { 
    $.extend($.validator.messages, { 
     required: "Dit is een verplicht veld.", 
     remote: "Controleer dit veld.", 
     email: "Vul hier een geldig e-mailadres in.", 
     url: "Vul hier een geldige URL in.", 
     date: "Vul hier een geldige datum in.", 
     dateISO: "Vul hier een geldige datum in (ISO-formaat).", 
     number: "Vul hier een geldig getal in.", 
     digits: "Vul hier alleen getallen in.", 
     creditcard: "Vul hier een geldig creditcardnummer in.", 
     equalTo: "Vul hier dezelfde waarde in.", 
     accept: "Vul hier een waarde in met een geldige extensie.", 
     maxlength: $.validator.format("Vul hier maximaal {0} tekens in."), 
     minlength: $.validator.format("Vul hier minimaal {0} tekens in."), 
     rangelength: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."), 
     range: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."), 
     max: $.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."), 
     min: $.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}."), 

     // for validations in additional-methods.js 
     iban: "Vul hier een geldig IBAN in.", 
     dateNL: "Vul hier een geldige datum in.", 
     phoneNL: "Vul hier een geldig Nederlands telefoonnummer in.", 
     mobileNL: "Vul hier een geldig Nederlands mobiel telefoonnummer in.", 
     postalcodeNL: "Vul hier een geldige postcode in.", 
     bankaccountNL: "Vul hier een geldig bankrekeningnummer in.", 
     giroaccountNL: "Vul hier een geldig gironummer in.", 
     bankorgiroaccountNL: "Vul hier een geldig bank- of gironummer in." 
    }); 

    function addCustomMessages() { 
     $("#password_confirm").rules("add", { 
      required: true, 
      equalTo: "#password", 
      messages: { 
       required: "Herhaal uw wachtwoord", 
       equalTo: "Enter the same password as above" 
      } 
     }); 
    } 

}(jQuery)); 

все еще не работает для меня, кто-то, кто может мне помочь?

+0

Вы должны также включать теги JQuery и MVC. – ragatskynet

+0

@ragatskynet вы можете добавить эти теги тоже :) –

+0

См. Отредактированный ответ, пожалуйста. Не соглашайтесь, если это вам помогло :) – Shiham

ответ

2

Когда вы используете html-помощники, он генерирует тег <input> для вас, когда cshtml обрабатывается html. Поэтому использование #password_confirm в качестве идентификатора неверно. Если вы хотите, чтобы «password_confirm» был идентификатором вашего входного тега, укажите с помощью атрибута HTML в HTML-помощнике.

Например:

@Html.PasswordFor(m => m.ConfirmPassword, new{id="password_confirm"}) 
0

Вы можете добавить несколько атрибутов в поле в HTML, например:

@Html.PasswordFor(c => c.Password, new { id = "password-confirm"})

В этом случае идентификатор поля должно быть password-confirm.

Смежные вопросы