Hi!
I’m working on a custom widget and I want to validate user input values for parameters. For example, the $default
parameter should contain a default value for the widget when the target field is missing or blank, just like <$edit-text>
widget’s default
parameter.
I first tried to use a <$parameter>
widget, but default value for parameters are only used when the widget attribute value is missing, so I can’t use it to validate any user-defined value.
So I ended up using this pattern:
\function init.default()
=[<$default>!is[blank]]
=[<now "YYYY0MM0DD">]
:filter[<currentTiddler>format:date[YYYY0MM0DD]match<currentTiddler>]
+[first[]]
\end
\widget $my.widget($default)
<$let
myDefault=<<init.default>>
>
<!-- relevant code using <<myDefault>> here... -->
</$let>
\end $my.widget
My real widget has 6+ parameters, all of which must be validated, leading to a lot of code verbosity. Did any of you work on this kind of problems? Do you have alternative code patterns to showcase? Or enhancement suggestions?
Thanks in advance
Fred