Just musing to myself I wondered if there exists currently or on the 
roadmap the ability to specify a set of values a particular property may 
accept. This would be similar to other languages' `enum` type where you 
specify up-front all the possible values and the implementation refuses to 
accept things outside of those values. Another idea is a regular expression 
validator on incoming values. My idea is that if a component's property is 
set to an invalid value by one of these two validations then the component 
code we write ourselves is never notified of the change and it is silently 
ignored. This would allow component authors to be sure that values they 
receive are correct without having to write boilerplate to actually verify 
that fact.

Thinking about a possible implementation I suppose a validator-proxy 
component could be created which encapsulates all the required validation 
in generalised terms which takes an input value, a default, and either a 
regex or list of accepted values and has an output property which will only 
ever contain normalised values.

Then we can even create a series of known-good intermediate implementations 
of the validator-proxy which contains pre-build validations for things like 
css colours, telephone numbers........ etc. which just take a single input 
and give a single validated output without the requirement to write the 
regex every time an author wants a common validation.

In fact I might just go ahead and write that component while I'm faffing 
around...

P.S. 4am coding is always good for these random ideas! Oh it's nearly 4am 
(3:30) now :-p

Follow Polymer on Google+: plus.google.com/107187849809354688692
--- 
You received this message because you are subscribed to the Google Groups 
"Polymer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/polymer-dev/35c3ddaf-ea44-490b-8821-513585c45b7e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to