일부 추상화를 얻는 한 가지 방법은 필요한 다른보기 정보를 포함하여 비즈니스 모델 클래스로 구성된 'ViewModel'을 만드는 것입니다.
class MyObject
{
public int ID {get;set}
[Required]
[StringLength(512)]
public string Name {get;set;}
}
class MyViewModel // ViewModel for a specific view
{
public MyObject MyModel {get;set;} // the model that is being edited
// other data the view might need, set by the controller
public string SomeMessage { get; set; }
public List<SomeObject> SomeObjects {get;set;} /// e.g. for a drop-down list
}
그런 다음보기에서 그에 따라 ViewModel을 참조하십시오.
@model My.Namespace.MyViewModel
Hello @model.MyModel.Name !!!
이렇게하면 한 곳에서 비즈니스 클래스의 유효성 검사 및/또는 데이터 주석 만 지정할 수 있습니다.
다른 유효성 검사를 원한다면 유효성 검사 논리를 선택적으로 적용하는 전략이 필요합니다.
출처
2011-03-09 21:56:19
Rob
응답 해 주셔서 감사합니다. JQuery 유효성 검사를위한 유효성 검사 속성을 재사용 할 수있는 영리한 방법이 필요하다고 생각하고 있습니다. 컨트롤러에서 유효성 검사가 너무 중요하지 않으므로 엔티티 개체가 문제가되지 않습니다.하지만 지금은 - 원하는 속성을 구현하십시오. – Brian