Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // String -> Formlet a xml -> Formlet a xml
- function label(label,formlet) {
- return transformXml(function(xml){
- return "<p>"+label+":"+xml+"</p>";}
- ,formlet);
- }
- var name = label("Name",textInput);
- var age = label("Age",textInput);
- var formlet = appendFormlets(tuple,name,age);
- var res = runS( formlet
- , {id:0,env:[[0,"Craig"]
- ,[1,"62"]]}
- );
- showPrint(res);
- var res = runS( formlet
- , {id:0,env:[[1,"62"]]}
- );
- showPrint(res);
- var adultAge = ensure(function(x){return x>18;}
- ,"Must be 18 or over."
- ,age);
- var res = runS( appendFormlets(tuple,name,adultAge)
- , {id:0,env:[[0,"Dave"]
- ,[1,"62"]]}
- );
- showPrint(res);
- var res = runS( appendFormlets(tuple,name,adultAge)
- , {id:0,env:[[0,"Dave"]
- ,[1,"12"]]}
- );
- showPrint(res);
- /* Output */
- (Formlet (Success ((Craig,62)) "<p>Name:<input type='text' name='0' id='0' value='Craig'></p><p>Age:<input type='text' name='1' id='1' value='62'></p>"),FormState (2 [0 => (0,Craig),1 => (1,62)]))
- (Formlet (Failure ([0 => "0 is not in the data."]) "<p>Name:<input type='text' name='0' id='0' value=''></p><p>Age:<input type='text' name='1' id='1' value='62'></p>"),FormState (2 [0 => (1,62)]))
- (Formlet (Success ((Dave,62)) "<p>Name:<input type='text' name='0' id='0' value='Dave'></p><p>Age:<input type='text' name='1' id='1' value='62'></p>"),FormState (2 [0 => (0,Dave),1 => (1,62)]))
- (Formlet (Failure ([0 => "Must be 18 or over."]) "<p>Name:<input type='text' name='0' id='0' value='Dave'></p><p>Age:<input type='text' name='1' id='1' value='12'></p>"),FormState (2 [0 => (0,Dave),1 => (1,12)]))
Add Comment
Please, Sign In to add comment