[ t ] [
[
"140" [ v-number 13 v-min-value 100 v-max-value ] validate
- [ validation-error? ]
+ [ validation-error-state? ]
[ value>> "140" = ]
bi and
] with-validation
validate-values
validation-failed?
"age" value
- [ validation-error? ]
+ [ validation-error-state? ]
[ message>> "required" = ]
bi and
] with-validation
] with-scope
] dip set-value ; inline
-TUPLE: validation-error value message ;
+TUPLE: validation-error-state value message ;
-C: <validation-error> validation-error
+C: <validation-error-state> validation-error-state
: validation-error ( message -- )
form get
>hashtable "validators" set-word-prop ;
: validate ( value quot -- result )
- '[ _ call( value -- validated ) ] [ <validation-error> ] recover ;
+ '[ _ call( value -- validated ) ] [ <validation-error-state> ] recover ;
: validate-value ( name value quot -- )
validate
- dup validation-error? [ form get t >>validation-failed drop ] when
+ dup validation-error-state? [ form get t >>validation-failed drop ] when
swap set-value ;
: validate-values ( assoc validators -- )