Tôi tạo ra một thuộc tính kế thừa như thế này trong ASP.NET MVC3:Xác thực phía máy khách không hoạt động khi hít từ RequiredAttribute trong ASP.NET MVC 3?
public sealed class RequiredFromResourceAttribute : RequiredAttribute
{
public RequiredFromResourceAttribute(string errorResourceName, string errorResourceTypeName)
{
this.ErrorMessageResourceName = errorResourceName;
this.ErrorMessageResourceType = Type.GetType(errorResourceTypeName);
}
}
Và sử dụng nó như thế này:
[RequiredFromResource("Title", "Resources.Resource, MyProject.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null")]
public string Title { get; set; }
Nó không làm việc và MVC phớt lờ nó. Sau đó, tôi tạo một lớp đơn giản hơn, chỉ được kế thừa từ RequiredAttribute như sau:
public class MyRequiredAttribute : RequiredAttribute
{
}
Tôi sử dụng nó như tôi đã nói. Nhưng nó không hoạt động trở lại.
Mặc dù, tất cả các cách này đều hoạt động hoàn hảo trên "DisplayNameAtrribute".
Sự cố là gì?
Theo tôi, câu trả lời của marcind xử lý điều này tốt hơn SkipHarris '. RequiredAttributeAdapter trong Skip's dường như làm cho xác nhận phía máy khách sử dụng thuộc tính bắt buộc thường xuyên thay vì thuộc tính RequiredFromResourceAttribute. – Keerigan