2017-04-07 15 views
6

Tôi đang cố gắng sử dụng Xác thực mô hình trong MVC .Net Core và không thể quản lý để thay thế thông báo lỗi mặc định này 'Giá trị' 'không hợp lệ'.MVC. Xác thực mẫu lõi Net - Giá trị '' không hợp lệ. Lỗi

Về lý thuyết, chúng tôi có thể thay thế thông báo lỗi tùy chỉnh của riêng mình bằng cách sử dụng ErrorMessage Chú thích trong Mô hình. Nhưng tôi không thể tìm ra cách để làm việc này.

My Mẫu

[Required(ErrorMessage = "Date Required")] 
[DataType(DataType.Date, ErrorMessage = "Invalid Date Format")]     
[Display(Name = "Appointment Date")] 
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] 
public DateTime AppointmentDate { get; set; } 

tôi đặt khác nhau ErrorMessage cho cả RequiredDataType thẻ như ở trên.

view html My

<div class="col-md-2"> 
     <input class="form-control" asp-for="AppointmentDate"> 
     <span asp-validation-for="AppointmentDate" class="text-danger"></span> 
    </div> 

enter image description here

Ông có thể vui lòng giúp tôi làm thế nào tôi có thể nhận được thông báo lỗi thay thế? Cảm ơn.

+0

bạn đã [kiểm tra điều này] (http://stackoverflow.com/questions/1538873/how-to-replace-the-default-modelstate-error-message-in-asp-net-mvc-2)? Nó có thể là những gì bạn đang tìm kiếm – TheUknown

+0

Cảm ơn nhưng không phải là một. Đó là thay thế thông báo lỗi bằng ngôn ngữ khác như tiếng Tây Ban Nha hoặc tiếng Ý, v.v. – TTCG

Trả lời

7

Để thực hiện thuộc tính Required của bạn hoạt động bạn cần phải thực hiện nullable lĩnh vực:

public DateTime? AppointmentDate { get; set; } 

Sửa: cũng lưu ý rằng DataType thuộc tính thực sự không thực hiện xác nhận trên sân. MVC ngày xác nhận khi áp dụng ràng buộc từ post dữ liệu để model

+0

Tôi cũng gặp vấn đề tương tự, tuy nhiên, các trường duy nhất tôi có '[Bắt buộc]' là các chuỗi. Và, tôi có cùng một hành động Điều khiển cho cả việc thêm và chỉnh sửa một thực thể. Khi chỉnh sửa, nó hoạt động tốt (trước khi tôi làm bất cứ điều gì trong bộ điều khiển, tôi kiểm tra 'ModelState'), nhưng chuyến đi này khi thêm một thực thể mới. Mọi thứ đều giống hệt nhau trên thực thể –

0

Vấn đề của tôi là trong Create Action, tôi muốn trả lại Xem mà không newing lên một thực thể, mà khi tôi đã thay đổi điều đó, tức là Return View(new MyEntity()); nó cố định vấn đề này

Các vấn đề liên quan