This is enough to start validator:
var validatorEngine = new ValidatorEngine();
validatorEngine.Configure();
Console.WriteLine("Hello World!");
Car car = new Car(null, "DD-AB-123", 4);
InvalidValue[] invalidValues = validatorEngine.Validate(car);
foreach (InvalidValue value in invalidValues)
{
Console.WriteLine("\t-Invalid Property: {0}. Error
Message: {1}", value.PropertyName, value.Message);
}
but I don't know how I load mappings. It looks like some default methods
are loading them. Now I don't know how to access them to expose them as XML
mappings.
W dniu środa, 23 listopada 2016 00:18:24 UTC+1 użytkownik Mikołaj Habdank
napisał:
>
> Hi
>
> I've found a bug - not related to NHibernate. Definition of getters and
> setters in a Car class was generating stackoverflow. Should be:
> [NotNull] private string manufacturer { get; set; }
> It didn't solve issue with unnecessary dependence to MySQL and Hibernate,
> but at least code is executing correctly.
> Still looking for solution to remove this dependency.
>
> Best
>
> Mikolaj
>
> W dniu wtorek, 22 listopada 2016 11:47:28 UTC+1 użytkownik Mikołaj Habdank
> napisał:
>>
>> Hi
>>
>> Please could you share a working example of a code for NHibernate
>> Validator 1.3.2.4000 without using NHibernate ORM (currently in my code
>> 4.0.4.4000 as a dependency)?
>> I've been able to create a working solution in java and and now I'm stuck
>> with configuration for validator in C#. For my PoC I'm using mono 4.6.
>> We need data validation across our pipeline (mixed C3 and scala
>> environment - spark) and hibernate validator looks solid. We do not want to
>> use Hibernate ORM.
>>
>> I'm trying to use code mappings like this:
>> namespace nhcar
>> {
>> public class Car
>> {
>> [NotNull]
>> private string manufacturer
>> {
>> get { return manufacturer; }
>> set { manufacturer = value; }
>> }
>>
>> [NotNull]
>> [Length(Min = 2, Max = 14)]
>> private string licensePlate
>> {
>> get { return licensePlate; }
>> set { licensePlate = value; }
>> }
>>
>> [Min(2)]
>> private int seatCount
>> {
>> get { return seatCount; }
>> set { seatCount = value; }
>> }
>>
>> public Car(string manufacturer, string licensePlate, int
>> seatCount)
>> {
>> this.manufacturer = manufacturer;
>> this.licensePlate = licensePlate;
>> this.seatCount = seatCount;
>> }
>>
>> public Car()
>> {
>> }
>> }
>> }
>>
>>
>> And this is my main:
>> public static void Main(string[] args)
>> {
>> var cfg = new NHibernate.Cfg.Configuration();
>> cfg.Configure();
>> Fluently.Configure()
>> .Mappings(m =>
>> m.FluentMappings
>> .AddFromAssemblyOf<Car>())
>> .BuildConfiguration();
>>
>> var validatorEngine = new ValidatorEngine();
>> cfg.Initialize(validatorEngine);
>> validatorEngine.Configure();
>>
>> Console.WriteLine("Hello World!");
>> Car c = new Car(null, "DD-AB-123", 4);
>> InvalidValue[] invalidValues = validatorEngine.Validate(c);
>> foreach (InvalidValue value in invalidValues)
>> {
>> Console.WriteLine("\t-Invalid Property: {0}. Error
>> Message: {1}", value.PropertyName, value.Message);
>> }
>> }
>>
>>
>>
>> I also have file hibernate.cfg.xml
>> <?xml version="1.0" encoding="UTF-8"?>
>> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
>> <session-factory name="NHibernate.Test">
>> <property name="connection.driver_class">
>> NHibernate.Driver.MySqlDataDriver</property>
>> <property
>> name="connection.connection_string">Server=localhost;Database=test;User
>> ID=test;Password=test;</property>
>> <property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
>> <property name="show_sql">true</property>
>> </session-factory>
>> </hibernate-configuration>
>>
>>
>> And I'm using it just for a workaround for System I/O exception when
>> this file is missing.
>>
>> But it throws exceptions like:
>>
>> Unhandled Exception:
>> StackOverflowException
>> Stack overflow in unmanaged: IP: 0x10ef2f4a2, fault addr: 0x7fff505a9ef0
>>
>>
>> Unhandled Exception:
>> StackOverflowException
>> Stack overflow in unmanaged: IP: 0x7fff89c365ed, fault addr:
>> 0x7fff505a8ff8
>> [ERROR] FATAL UNHANDLED EXCEPTION: Nested exception detected.
>> Original Exception: at (wrapper managed-to-native)
>> System.RuntimeType.getFullName
>> (System.RuntimeType,bool,bool) <IL 0x00033, 0x000ae>
>> at System.RuntimeType.ToString () [0x00000] in /private/tmp/source-mono-
>> 4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/
>> mono-x86/mcs/class/corlib/ReferenceSources/RuntimeType.cs:599
>> at System.Exception.GetClassName () [0x0000b] in /private/tmp/source-mono
>> -4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/
>> mono-x86/mcs/class/referencesource/mscorlib/system/exception.cs:257
>> at System.Exception.ToString (bool,bool) [0x00031] in /private/tmp/source
>> -mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-
>> root/mono-x86/mcs/class/referencesource/mscorlib/system/exception.cs:480
>> at System.Exception.ToString () [0x00000] in /private/tmp/source-mono-4.6
>> .0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/mono-
>> x86/mcs/class/referencesource/mscorlib/system/exception.cs:466
>>
>>
>> Nested exception:at string.FillStringChecked (string,int,string) [0x00000
>> ] in /private/tmp/source-mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/
>> mono-mac-xamarin/build-root/mono-x86/mcs/class/referencesource/mscorlib/
>> system/string.cs:1499
>> at string.Concat (string,string,string) [0x0005b] in /private/tmp/source-
>> mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-
>> root/mono-x86/mcs/class/referencesource/mscorlib/system/string.cs:3201
>> at System.Exception.ToString (bool,bool) [0x00031] in /private/tmp/source
>> -mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-
>> root/mono-x86/mcs/class/referencesource/mscorlib/system/exception.cs:480
>> at System.Exception.ToString () [0x00000] in /private/tmp/source-mono-4.6
>> .0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/mono-
>> x86/mcs/class/referencesource/mscorlib/system/exception.cs:466
>>
>>
>> Could someone point me to doc which explain Configuration model in
>> Hibernate? Why I need Configuration with any valid database for validator?
>>
>> Best
>>
>> Mikolaj
>>
>
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.