Tôi đang sử dụng html5/Razor/MVC3 tận dụng mẫu Bootstrap từ Twitter. Tôi muốn có hình thức xác nhận có vẻ trơn tru như họ đã tài liệu (http://twitter.github.com/bootstrap/#forms). Vì vậy, nếu chúng ta hãy nhìn vào cách MVC3 nồi hơi-tấm tiêu chuẩn cho đăng ký tài khoản, đánh dấu sẽ trông như thế:Cách tiếp cận tốt nhất để mở rộng javascript không phô trương trong MVC3 để thêm kiểu vào một mặt khách hàng div
@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class="form-stacked" })) {
@Html.ValidationSummary(true, "Snap! Something went wrong")
<div>
<fieldset>
<legend>Account Information</legend>
<div class="clearfix error">
@Html.LabelFor(m => m.UserName)
<div class="input">
@Html.TextBoxFor(m => m.UserName)
<span class="help-inline">@Html.ValidationMessageFor(m => m.UserName)</span>
</div>
</div>
<div class="clearfix">
@Html.LabelFor(m => m.Email)
<div class="input">
@Html.TextBoxFor(m => m.Email)
<span class="help-inline">@Html.ValidationMessageFor(m => m.Email)</span>
</div>
</div>
<div class="clearfix">
@Html.LabelFor(m => m.Password)
<div class="input">
@Html.PasswordFor(m => m.Password)
<span class="help-inline">@Html.ValidationMessageFor(m => m.Password)</span>
</div>
</div>
<div class="clearfix">
@Html.LabelFor(m => m.ConfirmPassword)
<div class="input">
@Html.PasswordFor(m => m.ConfirmPassword)
<span class="help-inline">@Html.ValidationMessageFor(m => m.ConfirmPassword)</span>
</div>
</div>
</fieldset>
<div class="actions">
<button class="btn large primary" type="submit">Register</button>
</div>
</div>
Những gì tôi muốn làm là có div container tiêm lớp "lỗi" như tôi đã được mã hóa cứng trong đầu vào đầu tiên. (Vì vậy, khi vào trang, div sẽ có một lớp "clearfix" nhưng nếu khối đầu vào đó không xác nhận được, nó sẽ gắn thẻ nó là "clearfix error"). Tôi hình tôi sẽ phải cập nhật khối div để bao gồm một id của một số loại và có lẽ thêm một thuộc tính data- mới vào ValidationMessage. Tôi không gặp sự cố khi mở rộng trình trợ giúp ValidationMessageFor. Tôi chỉ không chắc chắn 100% là cách tiếp cận nào để mở rộng thư viện ở đó. Bất kỳ đề xuất về cách tiếp cận này?
TIA.
CẬP NHẬT:
Tôi đang nghĩ đến phương pháp này là hợp lý:
<div id="UserNameContainer" class="clearfix error">
@Html.LabelFor(m => m.UserName)
<div class="input">
@Html.TextBoxFor(m => m.UserName)
<span class="help-inline">@Html.ValidationMessageFor(m => m.UserName, null, new { @data_container = "UserNameContainer" })</span>
</div>
</div>
Bằng cách trang trí nhắn xác nhận của tôi với một tên dữ liệu-container, sau đó tôi có thể nhắm mục tiêu div container. Bây giờ tôi chỉ cần tìm ra cách đánh chặn thông báo xác thực.
Bạn đã giải quyết được vấn đề này chưa? –
Vì vậy, @JBright, bạn đã giải quyết điều này hay đã làm một trong những câu trả lời cho câu hỏi? – shanabus