Chủ đề: Cách để validation trong MVC?
-
16-12-2013, 10:21 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cách để validation trong MVC?
Cho em hỏi trong asp.net mvc khi tạo model bằng các file class (khởi tạo các biến, phương thức getter, setter, rồi đặt [Required] luôn cho cái biến đó để kiểm tra). Còn khi dùng entity framework nó tự tạo ra hết vậy mình vào đâu để chỉnh cái [Required] đó theo ý mình. Em thấy trên youtube người ta vừa dùng entity framwork mà vẫn tạo class model.
View more random threads:
- Truyền giá trị giữa 3 user control và form cha
- Cách giữ lại file trong upload file?
- Export dữ liệu từ datatable ra excel không thành công (không báo lỗi)
- Không lấy được dữ liệu từ TextVBox trong GridView
- [ASP.NET MVC4 - Entity Framework]Kiểu dữ liệu trả về của stored procedure bị lỗi khi add stored Entity Framework
- Thắc mắc cách gọi hàm trong C#
- CKFinder .Net lỗi The uploaded file is corrupt!
- Làm sao tải được file lên Listbox trong Asp.net
- làm sao để lấy file notepad vào trong listbob để làm từ điển
- Nên sử dụng ADO.NET Entitty Framework hay LINQ to SQL Data Context
-
16-12-2013, 10:55 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi luvcjssy
VD:
Mã:[MetadataType(typeof(ProductMetaData))] public partial class Product // khai báo này trùng tên và cùng namespace với lớp Product được tạo ra bởi EF, nhưng cứ để trống ko cần bổ sung gì cả{ } // áp đặt validate attribute ở đâypublic partial class ProductMetaData // cùng namespace với lớp trên{ [Requied]public string Name { get; set; } [Requied][Display(Name = "Giá")] public int Price { get; set; } }
-
16-12-2013, 04:37 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Sounj
-
16-12-2013, 04:44 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Tạo 1 class có cấu trúc tương tự với class EF.
Nếu dùng MVC thì nên dùng thêm Automapper
http://automapper.codeplex.com/
-
16-12-2013, 05:12 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi luvcjssy
Còn lý do tại sao có thể khai báo partial class cùng tên này thì bạn vui lòng tìm hiểu về từ khóa partial trong C#
-
06-01-2014, 11:56 AM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Sounj
-
06-01-2014, 12:34 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi luvcjssy
Bạn đương nhiên vẫn có thể vào đó chỉnh sửa, nhưng đây là hành động không nên làm , bởi vì nếu bạn chỉnh sửa trong đó, và sau đó vì lý do gì đó bạn cần cho Entity Data Model update lại thì tất cả những gì bạn chỉnh sửa sẽ mất hết trơn sau thao tác update này
=> Đó là lý do nên xài Metadata trong tình huống này. Metadata được bạn khai báo riêng ở 1 nơi khác, và ko bị ảnh hưởng gì sau thao tác update nếu có
-
07-01-2014, 08:48 AM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Sounj
Ví dụ mình đang có một project MVC 5.
Và có Models \ ModelABC.edmx \ ModelABC.tt \ User.cs
Giờ mình muốn thêm một partial class cho User.cs để thêm valiadation thì mình tạo file .cs mới như thế nào ? Đặt cùng tên User.cs ? và đặt ở đâu ?
Cám ơn bạn !
-
07-01-2014, 10:26 AM #9Banned
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Shinichi
Mã://using .....//using ....using System.ComponentModel.DataAnnotations; namespace Ungdung.Model // giả sử đây là namespace của \ ModelABC.edmx \ ModelABC.tt \ User.cs{ [MetadataType(typeof(UserMetaData))] public partial class User {} public partial class UserMetaData { // trong lớp này, bạn có thể copy các property như Name, Password ..v...v. bên \ ModelABC.edmx \ ModelABC.tt \ User.cs // qua đây ( copy những property bạn cần ko cần copy hết tất cả, nhưng ko đc phép thay đổi/chỉnh sửa mà phải giữ nguyên // sau đó thì có thể áp dụng các Validation như Required, DataType, StringType vào đây [Required] [StringLength(10)] public string Name { get; set } [Required] public string Password { get; set } }}
-
07-01-2014, 03:56 PM #10Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Sounj
và khai báo như vầy:
Mã:public partial class User { // trong lớp này, bạn có thể copy các property như Name, Password ..v...v. bên \ ModelABC.edmx \ ModelABC.tt \ User.cs // qua đây ( copy những property bạn cần ko cần copy hết tất cả, nhưng ko đc phép thay đổi/chỉnh sửa mà phải giữ nguyên // sau đó thì có thể áp dụng các Validation như Required, DataType, StringType vào đây [Required] [StringLength(10)] public string Name { get; set } [Required] public string Password { get; set } }
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...