badWMsgtest = "w-upper andList[RepeatedNull[_Real?(Between[#, w{-lower1., do1.}] not&)]];
badParamMsg have= the
same number"one of elements";
noWMsgthe =inputs, Invisible["ww-upper and, w-lower door notdz, haveis theinvalid";
okMsg same= numberInvisible[
"one of elements"];the inputs, w-upper, w-lower or dz, is invalid"];
Manipulate[
If[Length[wlo]If[MatchQ[wlo, ==test] Length[wup]&& MatchQ[wup, test] && MatchQ[dz, _Real],
pts = cst[wlo, wup, dz]; msg = noWMsgokMsg,
pts = cst[wlo, wup, dz];{}; msg = badWMsg];badParamMsg];
Column[
{ListPlot[pts, Frame -> True, ImageSize -> {500, Automatic}],
Style[Row[{"Message ", Framed[msg]}], "SR", 11]},
Center],
{{wup, {.19, .21, .29, .27, .3, .2, .1}, "w-upper"},
InputField, ImageSize -> {500, Automatic}},
{{wlo, {-.12, -.13, -.14, -.16, -.15, -.2, -.1}, "w-lower"},
InputField, ImageSize -> {500, Automatic}},
{{dz, .0002, "dz"}, InputField, ImageSize -> {50, Automatic}},
{{pts, {}}, None},
{{msg, noWMsg}, None},
TrackedSymbols :> {wlo, wup, dz}]