Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
- public class RequiredIfIdIsNonZeroAttribute : Foolproof.RequiredIfAttribute
- {
- public RequiredIfIdIsNonZeroAttribute(string dependentProperty, object dependentValue)
- : base(dependentProperty, dependentValue)
- {
- Register.Attribute(typeof(Web.Models.DataAnnotations.RequiredIfIdIsNonZeroAttribute));
- DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RequiredIfIdIsNonZeroAttribute), typeof(RequiredIfIdIsNonZeroValidator));
- }
- public string ErrorMessageKey { get; set; }
- public override bool IsValid(object value)
- {
- return true;
- }
- public override bool IsValid(object value, object container)
- {
- IResourceManager resourceManager = ObjectFactory.GetInstance<ResourceManager>();
- this.ErrorMessage = resourceManager.GetGlobalResourceObject(this.ErrorMessageKey);
- return base.IsValid(value, container);
- }
- }
- public class RequiredIfIdIsNonZeroValidator :DataAnnotationsModelValidator<RequiredIfIdIsNonZeroAttribute>{ public RequiredIfIdIsNonZeroValidator(ModelMetadata metadata, ControllerContext context, RequiredIfIdIsNonZeroAttribute attribute)
- : base(metadata, context, attribute)
- {
- }
- public override IEnumerable<ModelClientValidationRule> GetClientValidationRules()
- {
- IResourceManager resourceManager = ObjectFactory.GetInstance<ResourceManager>();
- var rule = new ModelClientValidationRule
- {
- ErrorMessage = resourceManager.GetGlobalResourceObject(this.Attribute.ErrorMessageKey),
- ValidationType = "RequiredIf"
- };
- rule.ValidationParameters.Add("DependentProperty", this.Attribute.DependentProperty);
- rule.ValidationParameters.Add("DependentValue", this.Attribute.DependentValue);
- rule.ValidationParameters.Add("Operator", this.Attribute.Operator.ToString());
- return new[] { rule };
- }
- }
- DataAnnotationsModelValidatorProvider.
- RegisterAdapter(typeof(RequiredIfIdIsNonZeroAttribute),typeof(RequiredIfIdIsNonZeroValidator));
- [RequiredIfIdIsNonZeroAttribute("Id", "0", ErrorMessage="--"]
- bool IsValid(object value, object container) will work.
- bool IsValid(object value) is working
Add Comment
Please, Sign In to add comment