ASP.NET MVC2 데이터 모델 검증 라이브러리: MVC Foolproof Validation

13338 단어 validation
MVC Foolproof Validation은 데이터 모델 라이브러리 확장입니다.
조작부호 검증
   1: public class SignUpViewModel
   2: {
   3:     [Required]
   4:     public string Password { get; set; }
   5:  
   6:     [EqualTo("Password", ErrorMessage="Passwords do not match.")]
   7:     public string RetypePassword { get; set; }
   8: }
   9: public class EventViewModel
  10: {
  11:     [Required]
  12:     public string Name { get; set; }
  13:  
  14:     [Required]
  15:     public DateTime Start { get; set; }
  16:  
  17:     [Required]
  18:     [GreaterThan("Start")]
  19:     public DateTime End { get; set; }
  20: }

유효한 조작부호 검증기
   1: [Is]
   2: [EqualTo]
   3: [NotEqualTo]
   4: [GreaterThan]
   5: [LessThan]
   6: [GreaterThanOrEqualTo]
   7: [LessThanOrEqualTo]

비공식 유효성 검사
   1: private class Person
   2: {
   3:     [Required]
   4:     public string FirstName { get; set; }
   5:  
   6:     [Required]
   7:     public string LastName { get; set; }
   8:  
   9:     public bool Married { get; set; }
  10:  
  11:     [RequiredIfTrue("Married")]
  12:     public string MaidenName { get; set; }
  13: }

조건 비공개 유효성 검사
   1: [RequiredIf]
   2: [RequiredIfNot]
   3: [RequiredIfTrue]
   4: [RequiredIfFalse]
   5: [RequiredIfEmpty]
   6: [RequiredIfNotEmpty]
   7: [RequiredIfRegExMatch]
   8: [RequiredIfNotRegExMatch]

클라이언트 인증 사용
클라이언트 인증을 사용하려면 표준 클라이언트 인증 파일과 MvcFoolproofValidation을 포함해야 합니다.js 파일:
   1: <script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
   2: <script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
   3: <script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
   4: <script src="../../Scripts/MvcFoolproofValidation.js" type="text/javascript"></script>

jQuery 검증
jQuery 인증을 사용하려면 표준 클라이언트 인증 파일과 MvcFoolproofJQueryValidation을 포함해야 합니다.js 파일:
   1: <script src="../../Scripts/jquery.js" type="text/javascript"></script>
   2: <script src="../../Scripts/jquery-validate.js" type="text/javascript"></script>
   3: <script src="../../Scripts/MicrosoftMvcJQueryValidation.js" type="text/javascript"></script>
   4: <script src="../../Scripts/MvcFoolproofJQueryValidation.js" type="text/javascript"></script>

복잡한 사용자 지정 인증
인증 등록 정보를 사용자 정의하려면 다음과 같이 하십시오.
   1: public class RoleValidInDepartmentAttribute : ModelAwareValidationAttribute
   2: {
   3:     //this is needed to register this attribute with foolproof's validator adapter
   4:     static RoleValidInDepartmentAttribute() { Register.Attribute(typeof(RoleValidInDepartmentAttribute)); }
   5:  
   6:     public override bool IsValid(object value, object container)
   7:     {
   8:         if (value != null && value.ToString() == "Software Developers")
   9:         {
  10:             //if the role was software developers, we need to make sure the user is in the IT department
  11:             var model = (CreateUserViewModel)container;
  12:             return model.Department == "IT Department";
  13:         }
  14:  
  15:         //the user wasn't in a constrained role, so just return true
  16:         return true;
  17:     }
  18: }

모델에 적용하기
   1: public class CreateUserViewModel
   2: {
   3:     [Required]
   4:     public string Username { get; set; }
   5:  
   6:     [Required]
   7:     public string Department { get; set; }
   8:  
   9:     [Required]
  10:     [RoleValidInDepartment(ErrorMessage="This role isn't valid for the selected department.")]
  11:     public string Role { get; set; }
  12: }

Foolproof Provides Contingent Data Annotation Validation for ASP.NET MVC 2
Build Model-Aware Custom Validation Attributes in ASP.NET MVC 2
Client Side Model-Aware Validation
 
공식 주소:http://foolproof.codeplex.com

좋은 웹페이지 즐겨찾기