From b4866ed68a4658c805648af9888163ba5b237299 Mon Sep 17 00:00:00 2001 From: "Gabriel R. Abreu" Date: Sun, 26 Nov 2017 23:03:34 -0200 Subject: [PATCH] Update README --- README.md | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index b7cd22cf..804a351f 100644 --- a/README.md +++ b/README.md @@ -6,32 +6,39 @@ Reasonably making forms sound good again ## Usage -```ml + +```reason module SignInFormParams = { type state = { password: string, email: string }; let initialState = {password: "", email: ""}; - let handleChange action state => + let handleChange = (action, state) => switch action { - | ReForm.HandleChange ("password", value) => {...state, password: value} - | ReForm.HandleChange ("email", value) => {...state, email: value} + | ReForm.HandleChange("password", value) => {...state, password: value} + | ReForm.HandleChange("email", value) => {...state, email: value} | _ => state }; }; -module ReForm = ReForm.Create SignInFormParams; +module ReForm = ReForm.Create(SignInFormParams); -let component = ReasonReact.statelessComponent "SignInForm"; +let component = ReasonReact.statelessComponent("SignInForm"); -let make ::signInMutation _children => { +let make = (~signInMutation, _children) => { ...component, - render: fun _ => - + render: (_) => { + let validate: SignInFormParams.state => option(string) = (values) => { + if(values.password == "12345") Some("Sorry, can't do"); + None; + } + + ( - fun ::form ::handleChange ::handleSubmit => + (~form, ~handleChange, ~handleSubmit) => + { placeholder="Email" style=fieldsStyle placeholderTextColor=AppTheme.Colors.blackLight - onChangeText=(handleChange "email") + onChangeText=handleChange("email") /> { ) + } } ```