2013-05-28 51 views
1

在我看來,我有2個密碼字段:jQuery的密碼驗證

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

現在我正在尋找一種方式來使用以下我的javascript功能上這兩個領域。

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)它需要T選用#password-confirm

編輯:

查看:

    @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作爲ID是不正確的。如果您想將「password_confirm」作爲您的輸入標記的ID,請在HTML幫助程序中指定使用HTML屬性。

例如:

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

您可以在HTML中增加幾個屬性的領域,像這樣:

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

這種情況下,現場的ID應該是password-confirm