1有三個(gè)輸入框:用戶名輸入框(username),郵箱輸入框(email)和年齡輸入框(age)

2如果點(diǎn)擊輸入框獲取焦點(diǎn)后未輸入內(nèi)容,則在輸入框失去焦點(diǎn)后發(fā)出錯(cuò)誤(error)提示:XXX不能為空,且此時(shí)不能提交成功

3如果在輸入框中輸入內(nèi)容不合法,比如用戶名過長(length>5)發(fā)出錯(cuò)誤提示:不能大于五個(gè)字,且此時(shí)不能提交成功

4如果在輸入框中輸入內(nèi)容合法但需警告,則提示警告(warn)內(nèi)容,此時(shí)雖然發(fā)出警告但仍能提交成功(請區(qū)分和2和3中的區(qū)別)

5在尚未輸入內(nèi)容時(shí)(pristine=true)或在提交過程中(submitting=true),禁止使用提交按鈕。在點(diǎn)擊清空按鈕時(shí),調(diào)用reset()方法清空所有輸入框中的內(nèi)容

首先附上form.js的代碼:(這份展示一共兩份代碼:index.js和form.js,index.js的內(nèi)容請看上一篇博客)

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

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 = '不能大于五個(gè)字'
  }
  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