[Dbix-class] DBIx::Class, another data validation approach

Ulrich Kautz uk.lists at fortrabbit.de
Sun Jul 26 13:04:12 GMT 2009


Cj4+IC0tJTwtLQo+Pj4+IFsuLi5dIGEgc2hvcnQgaW50cm9kdWN0aW9uIG9mIHRoZSBtdWx0aXBs
ZSBhcHByb2FjaGVzIGFuZAo+Pj4+IG1ldGhvZHMgeW91IGNhbiBmb2xsb3cgdG8gYWNoaWV2ZSB2
YWxpZGF0aW9uLgo+Pj4+IAo+Pj4+IE1vc3Qgb2YgdGhlbSBjb3VsZCBiZSBjb21iaW5lZCBhbmQg
YXJlIG5vdCAiZWl0aGVyLW9yIi4KPj4+PiAKPj4+PiAqIFZhbGlkYXRpb24gcHJvZmlsZXMgVGhl
c2UgYXJlIG1lbnQgdG8gYmUgdXNlZCBpbiBtb3N0IGNvbXBsZXgKPj4+PiAgdmFsaWRhdGlvbiBz
Y2VuYXJpb3MuIFlvdSBjYW4gdmFsaWRhdGUgdGhlIGRhdGEgd2l0aCBtdWx0aXBsZSAKPj4+PiBw
cm9maWxlcyAob25lIGFmdGVyIGFub3RoZXIsIGNoYWluZWQpIHdpdGggb25lIGNhbGwuCj4+Pj4g
Cj4+Pj4gKiBJbmxpbmUgY29sdW1uIHZhbGlkYXRpb24gRGlyZWN0bHkgaW4gdGhlIGNvbHVtbiBk
ZWZpbml0aW9uCj4+Pj4gdmlhIGFkZF9jb2x1bW4gdGhleSBhcmUgbW9zdCBzaW1wbGUgYW5kIGZh
c3QuIEFsc28gdGhlCj4+Pj4gZGVmaW5pdGlvbiBvZiB0aGUgY29sdW1ucyBpcyBub3QgYXBhcnQg
ZnJvbSB0aGUgZGVmaeKAkCBuaXRpb24gb2YKPj4+PiB0aGUgdmFsaWRhdGlvbi4KPj4+PiAKPj4+
PiBUaGV5IGFyZSBsaW1pdGVkIGJlY2F1c2UgdGhleSBoYXZlIHRvIGZpdCBhbHdheXMgKGVhY2gg
c2F2ZSkKPj4+PiBhbmQgY2Fubm90IGJlIHVzZWQsIGFzIHZhbGlkYXRpb24gcHJvZmlsZXMsIG9u
bHkgaW4gY2VydGFpbiAKPj4+PiBjaXJjdW1zdGFuY2VzLgo+Pj4+IAo+Pj4gSSdtIG5vdCBjb21w
bGV0ZWx5IHN1cmUgd2hhdCB5b3UgbWVhbiBieSB0aGlzLiAgQXJlIHlvdSB0cnlpbmcgdG8KPj4+
IHNheSB0aGF0IGNvbHVtbiB2YWxpZGF0aW9uIGlzIHVzZWQgZm9yIGJvdGggaW5zZXJ0cyBhbmQg
dXBkYXRlcwo+Pj4gbm8gbWF0dGVyIHdoYXQgcHJvZmlsZSB5b3UgYXJlIHVzaW5nPwo+PiBZZXMs
IGNvbHVtbiB2YWxpZGF0aW9uIGFsd2F5cyBhcHBsaWVzISBJbiBvcHBvc2l0ZSB0byBwcm9maWxl
cyB5b3UKPj4gY2FuJ3QgdHJpZ2dlciB0aGVtIG9uIG9yIG9mZiwgZXNwZWNpYWxseSB0aGVyZSBp
cyBubyB0cmlnZ2VyIHRvCj4+IHN3aXRjaCBvbmx5IGNlcnRhaW4gY29sdW1uIHZhbGlkYXRpb25z
IG9uIG9yIG9mZiAoYXMgeW91IGNhbiBkbwo+PiB3aXRoIHByb2ZpbGUgdmFsaWRhdGlvbikuIEV4
Y3VzZSBteSBwb29yIGVuZ2xpc2gsIGxpdHRsZSBiaXQgb3V0IG9mCj4+IHByYWN0aWNlLCBpJ2xs
IHRyeSB0byB3cml0ZSBpdCBtb3JlIGNsZWFybHkuLgo+PiAKPiAKPiBXZWxsLCBhdCBzb21lIHBv
aW50IEknbSBzdXJlIHRoYXQgb25jZSB0aGlzIGlzIGluIGEgcHVibGljIHJlcG9zaXRvcnkKPiB5
b3UgY291bGQgY29udmluY2Ugc29tZSBvZiB1cyB0byBkbyBzb21lIGRvYyBmb3IgeW91LCB0aGF0
IHdheSB5b3UKPiBjYW4gZm9jdXMgb24gd2hhdCB5b3UncmUgYWxyZWFkeSBnb29kIGF0IDotKQoK
WWVhaCwgdGhhdCB3b3VsZCBiZSBuaWNlIDopCgo+PiAKPj4gLS0lPC0tCj4+Pj4gUGxlYXNlIHJl
YWQgdGhlIFBPRCBpbiBEQkl4OjpDbGFzczo6RGF0YVZhbGlkYXRvciBmb3IgbW9yZQo+Pj4+IGlu
Zm8uLgo+Pj4+IAo+Pj4+IERlc3BpdGUgd2hhdCBpIHdyb3RlIGFib3ZlIGFib3V0IDAuOSwgaSB0
aGluayBpIGNvdWxkIHByb3ZpZGUKPj4+PiBEQk1TIHNwZWNpZmljIHZhbGlkYXRpb24gZm9yIE15
U1FMIGFuZCBQb3N0Z3JlU1FMIGJlZm9yZSBpCj4+Pj4gcmVsZWFzZSB0aGlzIHRvIENQQU4gKGJ1
dCBpbiBzZXBwYXJhdGUgcGFja2FnZXMsIGR1ZSB0bwo+Pj4+IGRlcGVuZGVuY2llcyksIGJ1dCBm
aXJzdCBvZiBhbGwgaSB3b3VsZCBsaWtlIHRvIGhlYXIgd2hhdCB5b3UKPj4+PiBhbGwgdGhpbmsg
IGFib3V0IHRoZSB1c2VmdWxsbmVzcyBhdCBhbGwuCj4+Pj4gCj4+Pj4gTmljZSB3ZWVrZW5kIHRv
IGV2ZXJ5Ym9keSEgVWxyaWNoCj4+PiAKPj4+IFRoYW5rcyBmb3Igc3BlbmRpbmcgeW91ciB0aW1l
IG9uIHRoaXMhICBJIGxvb2tlZCB0aHJvdWdoIHlvdXIKPj4+IHRlc3RzIGFuZCBicmllZmx5IHJl
YWQgc29tZSBjb2RlIGFuZCBJIHRoaW5rIHRoaXMgd2lsbCBkbyBxdWl0ZQo+Pj4gbmljZWx5LiBK
dXN0IGEgY291cGxlIHF1ZXN0aW9uczogZG9lcyBpdCBvbmx5IHZhbGlkYXRlIHdoZW4geW91Cj4+
PiBjYWxsIGNyZWF0ZV92YWxpZGF0ZWQgb3IgY2FuIHlvdSBoYXZlIGNyZWF0ZSB2YWxpZGF0ZSBi
eSBkZWZhdWx0Pwo+Pj4gU2FtZSBmb3IgdXBkYXRlIGFuZCB0aGUgJHJzIHZlcnNpb24gb2YgdXBk
YXRlLgo+PiBObyBwcm9ibGVtLCBhY3R1YWxseSBpJ20gdXNpbmcgdGhpcyAtIHNvIGkgZG8gYmVu
ZWZpdCBteXNlbGYgOykKPj4gCj4+IFllcywgdmFsaWRhdGlvbiBpcyBvbmx5IHBlcmZvcm1lZCBv
bgo+PiAodXBkYXRlfHVwZGF0ZV9hbGx8Y3JlYXRlKV92YWxpZGF0ZWQuIE1heWJlIHRoaXMgaXMg
YSBiYXNlZCBvbiB0aGUKPj4gZGV2ZWxvcG1lbnQgaGlzdG9yeS4gSSBtZXJnZWQgYSAoQ2F0YWx5
c3QpIGFwcCwgd2hlcmUgaSB1c2UgdGhpcywKPj4gc2xvd3kgZnJvbSBjb250cm9sbGVyIHZhbGlk
YXRpb24gdG8gbW9kZWwgdmFsaWRhdGlvbi4gSG93ZXZlciwgaQo+PiB0aGluayBpdHMgbW9yZSBy
ZWFkYWJsZSBpZiB5b3Ugc3RpbGwgdXNlIGJvdGggKHZhbGlkYXRpb24gYW5kIG5vIAo+PiB2YWxp
ZGF0aW9uKSAtIGVzcGVjaWFsbHkgZm9yIHRoZSBwcm9maWxlIHZhbGlkYXRpb24gKGF0IHdoaWNo
IHlvdQo+PiBwcm92aWRlIHRoZSBwcm9maWxlIG5hbWVzIGFzIDIrKyBhcmd1bWVudHMpLCBidXQg
aSBjYW4gaW1wbGVtZW50IGFuCj4+ICAiZW5hYmxlX25hdGl2ZV92YWxpZGF0aW9uIi1zd2l0Y2gs
IG9yIHNvLiBBIHBvc3NpYmlsaXR5IHRvIHVzZSB0aGUKPj4gICJub24tdmFsaWRhdGlvbiItbWV0
aG9kcyBzaG91bGQgYWx3YXlzIGV4aXN0Lgo+PiAKPiAKPiBJIHRoaW5rIHRoYXQgc291bmRzIGdy
ZWF0LiAgZW5hYmxlX25hdGl2ZV92YWxpZGF0aW9uIHByb2JhYmx5Cj4gd291bGRuJ3QgY29tcGxp
Y2F0ZSB0aGluZ3Mgc2lnbmlmaWNhbnRseSBhbmQgaGF2aW5nICAqX25vbl92YWxpZGF0ZWQKPiAo
b3Igc29tZXRoaW5nIGxpa2UgdGhhdCkgbWV0aG9kcyB3b3VsZCBhbGxvdyB5b3UgdG8gYnlwYXNz
IGl0IGlmIHlvdQo+IHJlYWxseSBuZWVkIHRvLiAgSWYgeW91J2QgbGlrZSBzb21lIGhlbHAgd2l0
aCBkb2MsIHRlc3RzLCBvciBzbWFsbGlzaAo+IGZlYXR1cmVzIEknZCBiZSBnbGFkIHRvIHRocm93
IHNvbWUgdGltZSBpbnRvIHRoaXMuCgpZb3UgYXJlIG9mIGNvdXJzZSBtb3JlIHRoZW4gd2VsY29t
ZSwgaWYgeW91J2QgbGlrZSB0byBoZWxwLiBBY3R1YWxseSBpIHRoaW5rLCBpJ3ZlIHNwZW50IGEg
bG90IG1vcmUgdGltZSBpbiBkb2N1bWVudGluZyB0aGVuIGFjdXRhbGx5IHdyaXRpbmcgdGhlIGNv
ZGUgYW5kIHRoZSB0ZXN0cyAtIGFuZCB5ZXQsIGl0cyBubyBnb29kLiBGb3Igbm93LCBJTU8gdGhl
IHYwLjAyIHZlcnNpb24gaXMgbm90IHlldCB0ZXN0ZWQgZW5vdWdoIHRvIHVwbG9hZCBpdCB0byBD
UEFOLiBJIGNvdWxkIHByb3ZpZGUgYSBzdm4gcmVwbyAobWF5YmUgb24gc29tZSBmcmVlIGhvc3Rl
ciBsaWtlIGFzc2VtYmxhLmNvbSBvciBvbiBteSBvd24gbWFjaGluZXMpLiBUaGVuIHlvdSBjYW4g
YWRkIHlvdXIgY29kZSBhZGRpdGlvbnMgYW5kIGhvcGVmdWxseSBydW4gYW5kIHdyaXRlIHNvbWUg
dGVzdHMuIEhvdyBkb2VzIHRoaXMgc291bmQgPwoKSSd2ZSBhdHRhY2hlZCB0aGUgdXBkYXRlZCBt
b2R1bGUgd2l0aCB0aGUgbmF0aXZlLXZhbGlkdGlvbiB0aGluZ3kuCgoKVWxyaWNoCi0tLS0tLS0t
LS0tLS0tIG5leHQgcGFydCAtLS0tLS0tLS0tLS0tLQpBIG5vbi10ZXh0IGF0dGFjaG1lbnQgd2Fz
IHNjcnViYmVkLi4uCk5hbWU6IERCSXgtQ2xhc3MtRGF0YVZhbGlkYXRvci0wLjAyLnRhci5iejIK
VHlwZTogYXBwbGljYXRpb24veC1iemlwClNpemU6IDE1NjUyIGJ5dGVzCkRlc2M6IG5vdCBhdmFp
bGFibGUKVXJsIDogaHR0cDovL2xpc3RzLnNjc3lzLmNvLnVrL3BpcGVybWFpbC9kYml4LWNsYXNz
L2F0dGFjaG1lbnRzLzIwMDkwNzI2LzZkZDUwOTFmL0RCSXgtQ2xhc3MtRGF0YVZhbGlkYXRvci0w
LjAyLnRhci5iaW4K


More information about the DBIx-Class mailing list