Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3136 | Rev 3681 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3136 Rev 3680
Línea 38... Línea 38...
38
const Signup = (props) => {
38
const Signup = (props) => {
39
  // props destructuging
39
  // props destructuging
40
  const { captchaKey, addNotification, aes } = props;
40
  const { captchaKey, addNotification, aes } = props;
Línea 41... Línea 41...
41
 
41
 
42
  // React Hook Form
42
  // React Hook Form
Línea 43... Línea 43...
43
  const { register, handleSubmit, setError, errors } = useForm();
43
  const { register, handleSubmit, setError, errors, watch } = useForm({ mode: 'onBlur' });
44
 
44
 
45
  // states
45
  // states
46
  const [termsChecked, setTermsChecked] = useState(false);
46
  const [termsChecked, setTermsChecked] = useState(false);
Línea 152... Línea 152...
152
                <input
152
                <input
153
                  type="email"
153
                  type="email"
154
                  name="email"
154
                  name="email"
155
                  ref={register({
155
                  ref={register({
156
                    required: "Este campo es requerido",
156
                    required: "Este campo es requerido",
-
 
157
                    pattern: {
-
 
158
                      value: /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/i,
-
 
159
                      message: "Debe ser una dirección de correo electrónico valida"
-
 
160
                    }
157
                  })}
161
                  })}
158
                  maxLength="64"
162
                  maxLength="64"
159
                  placeholder="Correo electrónico"
163
                  placeholder="Correo electrónico"
160
                />
164
                />
161
                <i className="la la-envelope"></i>
165
                <i className="la la-envelope"></i>
Línea 174... Línea 178...
174
                <input
178
                <input
175
                  type="text"
179
                  type="text"
176
                  name="first_name"
180
                  name="first_name"
177
                  ref={register({
181
                  ref={register({
178
                    required: "Este campo es requerido",
182
                    required: "Este campo es requerido",
-
 
183
                    maxLength: {
-
 
184
                      value: 64,
-
 
185
                      message: 'Limite de carateres superior al permitido'
-
 
186
                    }
179
                  })}
187
                  })}
180
                  placeholder="Nombre"
188
                  placeholder="Nombre"
181
                  maxLength="64"
-
 
182
                />
189
                />
183
                <i className="la la-user"></i>
190
                <i className="la la-user"></i>
184
              </div>
191
              </div>
185
              {errors.first_name && (
192
              {errors.first_name && (
186
                <FormErrorFeedback>
193
                <FormErrorFeedback>
Línea 193... Línea 200...
193
            <div className="inputContainer">
200
            <div className="inputContainer">
194
              <div className="sn-field">
201
              <div className="sn-field">
195
                <input
202
                <input
196
                  type="text"
203
                  type="text"
197
                  name="last_name"
204
                  name="last_name"
198
                  maxLength="64"
-
 
199
                  ref={register({
205
                  ref={register({
200
                    required: "Este campo es requerido",
206
                    required: "Este campo es requerido",
-
 
207
                    maxLength: {
-
 
208
                      value: 64,
-
 
209
                      message: 'Limite de carateres superior al permitido'
-
 
210
                    }
201
                  })}
211
                  })}
202
                  placeholder="Apellido"
212
                  placeholder="Apellido"
203
                />
213
                />
204
                <i className="la la-user"></i>
214
                <i className="la la-user"></i>
205
              </div>
215
              </div>
Línea 217... Línea 227...
217
                <input
227
                <input
218
                  type="password"
228
                  type="password"
219
                  name="password"
229
                  name="password"
220
                  ref={register({
230
                  ref={register({
221
                    required: "Este campo es requerido",
231
                    required: "Este campo es requerido",
-
 
232
                    pattern: {
-
 
233
                      value: /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$/i,
-
 
234
                      message: 'Debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-'
-
 
235
                    }
222
                  })}
236
                  })}
223
                  pattern="^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$"
-
 
224
                  title="La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-"
237
                  title="La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-"
225
                  placeholder="Clave"
238
                  placeholder="Clave"
226
                  minLength="6"
-
 
227
                  maxLength="16"
-
 
228
                />
239
                />
229
                <i className="la la-lock"></i>
240
                <i className="la la-lock"></i>
230
              </div>
241
              </div>
231
              {errors.password && (
242
              {errors.password && (
232
                <FormErrorFeedback>{errors.password.message}</FormErrorFeedback>
243
                <FormErrorFeedback>{errors.password.message}</FormErrorFeedback>
Línea 239... Línea 250...
239
                <input
250
                <input
240
                  type="password"
251
                  type="password"
241
                  name="confirmation"
252
                  name="confirmation"
242
                  ref={register({
253
                  ref={register({
243
                    required: "Este campo es requerido",
254
                    required: "Este campo es requerido",
-
 
255
                    validate: (v) => v === watch('password') || 'Las contraseñas deben coincidir' 
244
                  })}
256
                  })}
245
                  pattern="^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$^x%x*-]).{6,16}$"
-
 
246
                  title="La clave debe contener entre 6 y 16 caracteres, incluida una letra mayúscula, un número y un carácter especial #?!@$^%*-"
-
 
247
                  placeholder="Confirme su clave"
257
                  placeholder="Confirme su clave"
248
                  minLength="6"
-
 
249
                  maxLength="16"
-
 
250
                />
258
                />
251
                <i className="la la-lock"></i>
259
                <i className="la la-lock"></i>
252
              </div>
260
              </div>
253
              {errors.confirmation && (
261
              {errors.confirmation && (
254
                <FormErrorFeedback>
262
                <FormErrorFeedback>
Línea 275... Línea 283...
275
                  />
283
                  />
276
                  <label htmlFor="terms_and_conditions" onClick={() => setTermsChecked(!termsChecked)}>
284
                  <label htmlFor="terms_and_conditions" onClick={() => setTermsChecked(!termsChecked)}>
277
                    <span></span>
285
                    <span></span>
278
                  </label>
286
                  </label>
279
                  <small onClick={() => setTermsChecked(!termsChecked)}>
287
                  <small onClick={() => setTermsChecked(!termsChecked)}>
280
                  Si, acepto los <a href="/terms-and-conditions">Términos y Condiciones.</a>
288
                    Si, acepto los <a href="/terms-and-conditions">Términos y Condiciones.</a>
281
                  </small>
289
                  </small>
282
                </div>
290
                </div>
283
                {/* <!--fgt-sec end--> */}
291
                {/* <!--fgt-sec end--> */}
284
              </div>
292
              </div>
285
              {errors.terms_and_conditions && (
293
              {errors.terms_and_conditions && (