http://samipoimala.com/it/2010/11/29/unobtrusive-client-validation-in-asp-net-mvc-3/
는 사용자 지정 특성을 구현하는 것은 정말 쉬운 일이 밝혀졌습니다. System.ComponentModel.DataAnnotations.ValidationAttribute를 상속하고 System.Web.Mvc.IClientValidatable을 구현하는 고유 한 클래스를 구현합니다. 그래서 세 가지 일을해야합니다.
1) public bool을 오버라이드합니다. IsValid (객체 값) 이 메소드는 서버에서 유효성 검사를 수행 할 때 (예 : 클라이언트에서 JavaScript를 사용할 수없는 경우) 실행됩니다. 이것은 클라이언트 유효성 검사가 필요하지 않은 경우 수행해야하는 모든 것입니다.
2) ModelClientValidationRule에서 상속받은 클래스를 만듭니다. 이것은 대개 매우 간단합니다. 다음 예는 클라이언트에서 이메일 유효성 검사를 설정하는 방법은 다음과 같습니다
public class ModelClientValidationEmailRule : ModelClientValidationRule
{
public ModelClientValidationEmailRule(string errorMessage)
{
base.ErrorMessage = errorMessage;
base.ValidationType = "email";
}
}
3) 공공는 IEnumerable GetClientValidationRules 구현 (ModelMetadata 메타 데이터, ControllerContext 컨텍스트)
이것은 또한 구현 일반적으로 매우 간단합니다, 여기에 이메일의 예입니다 검증 :
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
yield return new ModelClientValidationEmailRule(FormatErrorMessage(metadata.GetDisplayName()));
}
이것은 당신이 jQuery를 검증 플러그인에 레디 메이드 유효성 검사 규칙을 사용하여 유효성 검사를 사용하려면 자신의 속성을 작성 할 필요합니다.