コード例 #1
0
        public void throw_when_requirement_is_applied_to_field_of_non_nullable_value_type()
        {
            var model   = new MisusedRequirementModel();
            var context = new ValidationContext(model);
            var e       = Assert.Throws <ValidationException>(() => Validator.TryValidateObject(model, context, null, true));

            Assert.Equal("RequiredIfAttribute: validation applied to Value field failed.", e.Message);
            Assert.IsType <InvalidOperationException>(e.InnerException);
            Assert.Equal(
                "RequiredIfAttribute has no effect when applied to a field of non-nullable value type 'System.Int32'. Use nullable 'System.Int32?' version instead.",
                e.InnerException.Message);
        }
コード例 #2
0
        public void throw_when_requirement_is_applied_to_field_of_non_nullable_value_type()
        {
            var model           = new MisusedRequirementModel();
            var requirAttribute = new RequiredIfAttribute("true");

            var metadata          = GetModelMetadata(model, m => m.Value);
            var controllerContext = GetControllerContext();

            var e = Assert.Throws <ValidationException>(() => new RequiredIfValidator(metadata, controllerContext, requirAttribute));

            Assert.Equal(
                "RequiredIfValidator: validation applied to Value field failed.",
                e.Message);
            Assert.IsType <InvalidOperationException>(e.InnerException);
            Assert.Equal(
                "RequiredIfAttribute has no effect when applied to a field of non-nullable value type 'System.Int32'. Use nullable 'System.Int32?' version instead, or switch to AssertThatAttribute otherwise.",
                e.InnerException.Message);
        }
コード例 #3
0
        public void throw_when_requirement_is_applied_to_field_of_non_nullable_value_type()
        {
            var model = new MisusedRequirementModel();
            var requirAttribute = new RequiredIfAttribute("true");

            var metadata = GetModelMetadata(model, m => m.Value);
            var controllerContext = GetControllerContext();

            var e = Assert.Throws<ValidationException>(() => new RequiredIfValidator(metadata, controllerContext, requirAttribute));
            Assert.Equal(
                "RequiredIfValidator: validation applied to Value field failed.",
                e.Message);
            Assert.IsType<InvalidOperationException>(e.InnerException);
            Assert.Equal(
                "RequiredIfAttribute has no effect when applied to a field of non-nullable value type 'System.Int32'. Use nullable 'System.Int32?' version instead.",
                e.InnerException.Message);
        }
コード例 #4
0
 public void throw_when_requirement_is_applied_to_field_of_non_nullable_value_type()
 {
     var model = new MisusedRequirementModel();
     var context = new ValidationContext(model);
     var e = Assert.Throws<ValidationException>(() => Validator.TryValidateObject(model, context, null, true));
     Assert.Equal("RequiredIfAttribute: validation applied to Value field failed.", e.Message);
     Assert.IsType<InvalidOperationException>(e.InnerException);
     Assert.Equal(
         "RequiredIfAttribute has no effect when applied to a field of non-nullable value type 'System.Int32'. Use nullable 'System.Int32?' version instead.",
         e.InnerException.Message);
 }