예제 #1
0
        public void Test()
        {
            //编译时校验绑定
            var t  = new TestTarget();
            var rs = NLite.Validation.Validator.Validate <TestTarget>(t);

            Assert.IsFalse(rs.IsValid);

            //松耦合的编译时校验绑定(通过MetadataTypeAttribute)
            var t2  = new TestTarget2();
            var rs2 = NLite.Validation.Validator.Validate <TestTarget2>(t2);

            Assert.IsFalse(rs2.IsValid);

            //更松耦合的运行时关联校验绑定(通过EntityValidator)
            Console.WriteLine(typeof(TestTarget2Metadata).FullName);
            var t3  = new TestTarget3();
            var rs3 = NLite.Validation.Validator.Validate <TestTarget3>(t3);

            Assert.IsFalse(rs3.IsValid);

            //最灵活的运行时关联校验绑定(通过手工注册绑定)
            Validator.Register <TestTarget4, TestTarget2Metadata>();
            var t4  = new TestTarget4();
            var rs4 = NLite.Validation.Validator.Validate <TestTarget4>(t4);

            Assert.IsFalse(rs4.IsValid);
        }
예제 #2
0
        public void Test()
        {

            //编译时校验绑定
            var t = new TestTarget();
            var rs = NLite.Validation.Validator.Validate<TestTarget>(t);
            Assert.IsFalse(rs.IsValid);

            //松耦合的编译时校验绑定(通过MetadataTypeAttribute)
            var t2 = new TestTarget2();
            var rs2 = NLite.Validation.Validator.Validate<TestTarget2>(t2);
            Assert.IsFalse(rs2.IsValid);

            //更松耦合的运行时关联校验绑定(通过EntityValidator)
            Console.WriteLine(typeof(TestTarget2Metadata).FullName);
            var t3 = new TestTarget3();
            var rs3 = NLite.Validation.Validator.Validate<TestTarget3>(t3);
            Assert.IsFalse(rs3.IsValid);

            //最灵活的运行时关联校验绑定(通过手工注册绑定)
            Validator.Register<TestTarget4,TestTarget2Metadata>();
            var t4 = new TestTarget4();
            var rs4 = NLite.Validation.Validator.Validate<TestTarget4>(t4);
            Assert.IsFalse(rs4.IsValid);
        }