Hi Ho!
>From a given schema of a DB, a set of basic restrictions for all fields can be
>concluded. For example, if a field is designated as a PK, automatically its
>value must be unique. Another example, if a field is of type VARCHAR(10), it
>can only accommodate 10 characters at most.
Currently, symfony does not validate user input for the fields against such
basic restrictions automatically. For example, for a field named `a_field' of
type VARCHAR(10), it is needed to write something like:
product{a_field}:
sfStringValidator:
max: 15
max_error: Can only contain 15 characters
This needs to be repeated in every other modules that also provide CRUD for the
field.
Since a failure to validate such basic restrictions of the model will result in
a PropelException like:
[PropelException]
Unable to execute INSERT statement. [wrapped: Could not execute update [Native
Error: ERROR: value too long for type character varying(15)]
symfony should automatically generate one class for each table that will act as
the validator of basic restrictions of the fields of the table.
These classes then can be _overridden_ by users that need further checking such
as lapse year in case of a date field, and can be _complemented_ with
`validate/*.yml'.
If database schema itself cannot be deduced from the live DB, a simple .yml
file may be provided to help symfony generates the classes. For example,
table_a:
field_a:
varchar: 5
What do you think?
Also, currently I would like to implement such a facility so that I do not have
to clutter myself with the validations of the basic restrictions of each table.
Anyone would like to provide suggestion as how the things should be hacked?
Thank you.
Best regards,
Eus
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---