Unobtrusive Validation

Bài viết này sẽ hướng dẫn bạn hiển thị các cột nào cần có giá trị và những cột nào theo định dạng của nó

ss01

Code ban đầu:

<form class="form-horizontal" method="post">
<fieldset>
<div class="control-group">
<label class="control-label" for="name">Name</label>
<div class="controls">
< input type="text" class="input-medium" id="name" name="name" ></div>
</div>
<div class="control-group">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input type="text" class="input-medium" id="email" name="email"></div>
</div>
<div class="control-group">
<label class="control-label" for="website">Website</label>
<div class="controls">
<input type="text" class="input-medium" id="website" name="website" ></div>
</div>
<div class="control-group">
<label class="control-label" for="comment">Message</label>
<div class="controls">
<textarea class="input-medium" id="comment" rows="3" name="comment" ></textarea>
"comment" data-valmsg-replace="true"></span></div>
</div>
<div class="form-actions">
<button type="submit" class="btn">Send</button>
@if (ViewBag.MailSent != null && ViewBag.MailSent)
{
<div>Mail Sent!</div>
}</div></fieldset>
</form>

Để đánh đấu thuộc tính quan trọng tôi thêm 2 thuộc


data-val="true" data-val-required="*"

 

Kết quả:

</pre>
<input type="text" class="input-medium" id="name" name="name" data-val="true" data-val-required="*">
<pre>

Nhưng để hiển thị thông báo ta phải thêm đằng sau ô nhập một đoạn code html như sau

</pre>
<input type="text" class="input-medium" id="name" name="name" data-val="true" data-val-required="*">
<span class="field-validation-valid" data-valmsg-for="name" data-valmsg-replace="true"></span>
<pre>

Nếu bạn muôn quy định định dạng cụ thể thuộc tính là Email bạn có thể ghi thêm thuộc tính cho input


data-val-email="Not Valid"

Tương tự đối với các ô nhập khác. Kết quả thu được sẽ như hình đầu tiên.

 

 

Điểm khác biệt giữa ASP.NET MVC và ASP.NET WEB API

Khi lập trình với MVC, nhiều bạn vẫn thường nhầm lẫn sang Web API, vì MVC cũng trả về dữ liệu kiểu JSON bằng cách sử dụng JsonResult và cũng sử dụng được với các Ajax request. Trong bài viết này chúng ta  cùng đi phân tích một số điểm giống và khác nhau giữa Asp.Net Web API và Asp.Net MVC:

  1. MVC trả về cả View và Data trong đó Web API chỉ trả về Data.
  2. Web APi giúp xây dựng REST-full services trên nền tảng .NET. Hỗ trợ content-negitiation (tự động trả dữ liệu có kiểu phù hợp với client – Json, Xml, Atom,…), self-hosting mà MVC không có.
  3. Web API sẽ giúp bạn chuyển kiểu dữ liệu trả về theo thuộc tính Accept trong header của request và bạn không cần quan tâm đến điều đó. MVC thì chỉ trả về kiểu JSON.
  4. Web API, Request được mapping với các Actions dựa trên phương thức, vd: GET, PUT, POST, … Còn MVC thì Request được mapping với tên các Action.
  5. Asp.Net Web API là một nền tảng mới và là một phần của Asp.net. Các tính năng như model binding, filters, routing và nhiều tính năng khcá của MVC cũng có trong Web API nhưng nó được đóng gói vào System.Web.Http. Trong MVC những tính năng này nằm trong System.Web.MVC. Vì vậy Web API có thể được sử dụng với Asp.Net hay đứng độc lập.
  6. Bạn có thể dùng cả Web API và MVC controller trong cùng 1 project để xử lý các Ajax Request trả về dữ liệu kiểu Json, Xml,.. . Cái này gọi là Web API self-hosting.
  7. Khi dùng cả Web API và Web MVC, bạn cần kiểm soát quyền truy cập. Và như vậy trong hệ thống của bạn sẽ tồn tại 2 filter, một cho Web Api và một cho Web MVC.
  8. Hơn hết, Web API là một kiến trúc gọn nhẹ ngoài việc dùng cho các ứng dụng web, nó còn dùng được với các ứng dụng smart phone.

Theo http://www.dotnet-tricks.com/