Advertisement
Guest User

Untitled

a guest
Mar 9th, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from 'react'
  2. import {Field, reduxForm} from 'redux-form'
  3. import {renderField} from 'cores/Forms/renders'
  4. import {UsernameValidator} from 'helpers/UsernameValidator'
  5. import {CREATE_CUSTOMER_FORM} from '../../constants'
  6.  
  7. export const Form = ({handleSubmit, error, pristine, submitting}) => {
  8.     return (
  9.         <form>
  10.             <div className="col-md-12 col-xs-12">
  11.                 {error && <div className="row">
  12.                     <div className="col-sm-12">
  13.                         <div className="alert alert-danger">{error}</div>
  14.                     </div>
  15.                 </div>}
  16.                 <div className="row">
  17.                     <div className="input-required">
  18.                         <Field name="username" component={renderField} type="text" className="form-control"
  19.                                placeholder="Tên đăng nhập"/>
  20.                         <span className="required-symbol">*</span>
  21.                     </div>
  22.                 </div>
  23.                 <div className="row">
  24.                     <div className="input-required">
  25.                         <Field name="email" component={renderField} type="email" className="form-control"
  26.                                placeholder="Email"/>
  27.                         <span className="required-symbol">*</span>
  28.                     </div>
  29.                 </div>
  30.                 <div className="row">
  31.                     <div className="input-required">
  32.                         <Field name="password" component={renderField} type="password" className="form-control"
  33.                                placeholder="Mật khẩu"/>
  34.                         <span className="required-symbol">*</span>
  35.                     </div>
  36.                 </div>
  37.                 <div className="row">
  38.                     <Field name="fullName" component={renderField} type="text" className="form-control"
  39.                            placeholder="Họ tên"/>
  40.                 </div>
  41.                 <div className="row">
  42.                     <Field name="mobile" component={renderField} type="tel" className="form-control"
  43.                            placeholder="Số điện thoại"/>
  44.                 </div>
  45.                 <div className="row text-right">
  46.                     <button
  47.                         disabled={pristine || submitting}
  48.                         onClick={handleSubmit}
  49.                         className="btn btn-primary" type="submit">
  50.                         TẠO KHÁCH HÀNG
  51.                     </button>
  52.                 </div>
  53.             </div>
  54.         </form>
  55.     )
  56. };
  57.  
  58. export const validate = values => {
  59.     const errors = {};
  60.     if(Object.keys(values).length === 0) return errors;
  61.     if (!values.email) {
  62.         errors.email = 'Email không được để trống'
  63.     } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(values.email)) {
  64.         errors.email = 'Email không hợp lệ'
  65.     }
  66.     if (!values.password) {
  67.         errors.password = 'Mật khẩu không được để trống'
  68.     }
  69.     if(!values.username){
  70.         errors.username = 'Tên đăng nhập không được để trống'
  71.     } else if(values.username.length < 3 && values.username.length > 16){
  72.         errors.username = 'Tên đăng nhập cần 3 đến 16 kí tự'
  73.     } else if (!UsernameValidator.validate(values.username).isValid) {
  74.         errors.username = UsernameValidator.validate(values.username).error
  75.     }
  76.     return errors;
  77. };
  78.  
  79. export default reduxForm({
  80.     form: CREATE_CUSTOMER_FORM,
  81.     validate
  82. })(Form);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement