On Thu, Feb 17, 2011 at 8:32 PM, Daniel Stoch <[email protected]>wrote:

> On Thu, Feb 17, 2011 at 10:37 PM, Igor Vaynberg <[email protected]>
> wrote:
> > validation is there to make sure the user of the webapp cannot push an
> > illegal value into a model. it doesnt matter if its just the component
> > that is being submitted or the entire form. components decide whether
> > or not a user can push null in by using their required flag. you want
> > to push null, dont mark the component as required. it is as simple as
> > that.
>
> But you ommit something: model can contains a null value on startup
> and event though a formcomponent has a valid state on the first
> render. So passing null to this model later is like resseting its
> state to original (null) value :).
> Another thing is than I can set null in code and bypass component
> validation. So I can push null into this model, but the final
> validation will still work.
>
> Maybe I should explain one of use-cases. Let's say we have a form to
> enter RSS feed information. There are two TextFields:
> - url for RSS feed (urlModel)
> - custom RSS feed name (nameModel).
> Both are required and both have OnChangeBehavior attached. When user
> enter url for RSS the name of it is retrieved and set into nameModel.
> But only when nameModel has null object or nameEdited (boolean flag)
> is false.
> Now user can edit name field (then nameEdited flag is set to true, to
> avoid changing this name when user change url).
> But when user clears name field nameModel should be updated to null,
> but behavior does not allow this (because of validation of required
> field).
>

Why user would clear the name field if in the related use case we expect an
edition? I still think that onError callback is the right place to code the
response to this input.


> > you can create your own updating behavior that calls
> > setrequired(false) on the component prior to running validation/model
> > update if that is what you want. but we will not ship something like
> > this as part of core because it doesnt generally make sense.
>
> Probably I'll write my own behavior, because it seems this is the only
> solution :).
> Maybe it does not make sense from your point of view, but from mine it
> does. I think your point of view is sometimes too narrow.
>
> --
> Daniel
>
>
> > On Thu, Feb 17, 2011 at 1:33 PM, Daniel Stoch <[email protected]>
> wrote:
> >> On Thu, Feb 17, 2011 at 10:01 PM, Igor Vaynberg <
> [email protected]> wrote:
> >>> if you want to push a null value into a component you marked required
> >>> then dont mark it as required.
> >>
> >> No, because then I must have my own "customrequired" flags instead of
> >> using the core mechanism. I think this is wrong way.
> >> There is a wrong assumption that when component is marked as required
> >> then I cannot push a null value to its model. Validation should not
> >> allow to submit a form (not allow to further processing). But during
> >> editing process when user fills the form and "updates" componenets
> >> (not "submits" whole form) it should be possible to push null in
> >> models (of course as an option).
> >> The current behavior leads to many boilerplate code which can be
> avoided.
> >>
> >>> if you have inter-dependent validation
> >>> use a formvalidator or override form's onsubmit.
> >>
> >> It is not this case here.
> >>
> >> --
> >> Daniel
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Pedro Henrique Oliveira dos Santos

Reply via email to