1有三個輸入框:用戶名輸入框(username),郵箱輸入框(email)和年齡輸入框(age)
2如果點擊輸入框獲取焦點后未輸入內(nèi)容,則在輸入框失去焦點后發(fā)出錯誤(error)提示:XXX不能為空,且此時不能提交成功
3如果在輸入框中輸入內(nèi)容不合法,比如用戶名過長(length>5)發(fā)出錯誤提示:不能大于五個字,且此時不能提交成功
4如果在輸入框中輸入內(nèi)容合法但需警告,則提示警告(warn)內(nèi)容,此時雖然發(fā)出警告但仍能提交成功(請區(qū)分和2和3中的區(qū)別)
5在尚未輸入內(nèi)容時(pristine=true)或在提交過程中(submitting=true),禁止使用提交按鈕。在點擊清空按鈕時,調(diào)用reset()方法清空所有輸入框中的內(nèi)容
首先附上form.js的代碼:(這份展示一共兩份代碼:index.js和form.js,index.js的內(nèi)容請看上一篇博客)
import React from 'react' import { Field, reduxForm } from 'redux-form' const validate = values => { const errors = {} if (!values.username) { errors.username = '用戶名不能為空' } else if (values.username.length > 5) { errors.username = '不能大于五個字' } if (!values.email) { errors.email = '郵箱不能為空' } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(values.email)) { errors.email = 'Invalid email address' } if (!values.age) { errors.age = '年齡不能為空' }&nbs