From 416d5dfd337bf536499e359e87ae0eb210b38cfa Mon Sep 17 00:00:00 2001 From: Ayush Pratap Singh Date: Sun, 4 Oct 2020 17:21:07 +0530 Subject: [PATCH 1/2] Added all the Form enhancements For issue #630 #631 Added regex based Phone Number Validation Added regex based Name Validation and Error messages Updated the Validation of Description and it's Error message --- src/auth/signup-form/signup-form.js | 40 ++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/src/auth/signup-form/signup-form.js b/src/auth/signup-form/signup-form.js index 666848aa..18f01154 100644 --- a/src/auth/signup-form/signup-form.js +++ b/src/auth/signup-form/signup-form.js @@ -19,6 +19,8 @@ class SignUpForm extends Component { cnfPassword: "", error: { msg: "" }, isValidEmail: true, + isValidFirstName: true, + isValidLastName: true, isValidPassword: true, isValidPhone: true, isValidDesc: true, @@ -50,6 +52,8 @@ class SignUpForm extends Component { isValidDesc, isValidEmail, isValidPassword, + isValidFirstName, + isValidLastName, isValidPhone, } = this.state; @@ -58,8 +62,18 @@ class SignUpForm extends Component { let validDesc = isValidDesc; let validPhone = isValidPhone; let matched = isMatched; + let validFirstName = isValidFirstName; + let validLastName = isValidLastName; switch (fieldName) { + case "firstName": { + validFirstname = (value.match(/^[a-z][a-z]+[ ]{1}[a-z]*$/i) && value.length<15) ; + break; + } + case "LastName": { + validLastname = value.length<15 && value.match(/^[a-z]+/); + break; + } case "email": { validEmail = value.match(/^([\w.%+-]+)@([\w-]+\.)+([\w]{2,})$/i); break; @@ -69,11 +83,11 @@ class SignUpForm extends Component { break; } case "phone": { - validPhone = value.length === 10; + validPhone = value.match(/^*(?:\+?(\d{1,3}))?[-. (]*(\d{3})[-. )]*(\d{3})[-. ]*(\d{4})(?: *x(\d+))?*$/); break; } case "shortDescription": { - validDesc = value.length >= 10; + validDesc = value.length >= 10 && value<=250; break; } case "cnfPassword": { @@ -91,6 +105,8 @@ class SignUpForm extends Component { isValidDesc: validDesc, isValidPassword: validPass, isValidPhone: validPhone, + isValidFirstName :ValidFirstName, + isvalidLastName :ValidLastName }, this.validateForm ); @@ -103,6 +119,8 @@ class SignUpForm extends Component { isValidEmail, isValidPassword, isValidPhone, + isValidLastName, + isValidFirstName } = this.state; if ( @@ -110,6 +128,8 @@ class SignUpForm extends Component { isValidDesc && isValidEmail && isValidPassword && + isValidFirstName && + isValidLastName && isValidPhone ) { this.setState({ isValidForm: true }); @@ -167,6 +187,8 @@ class SignUpForm extends Component { password, cnfPassword, isValidPassword, + isValidFirstName, + isValidLastName, isValidEmail, isValidPhone, isValidDesc, @@ -190,6 +212,11 @@ class SignUpForm extends Component { onChange={this.onChange} required /> + @@ -203,6 +230,11 @@ class SignUpForm extends Component { onChange={this.onChange} required /> + @@ -229,7 +261,7 @@ class SignUpForm extends Component { Phone Number
  • - {!isValidDesc ? "Should be at least 10 characters long!" : null} + {!isValidDesc ? "Should be at least 10 characters long and less then 250 charecters!" : null}
From 13a5ec32dc6f1d47c881e9450a03765eb92343a1 Mon Sep 17 00:00:00 2001 From: Ayush Pratap Singh Date: Wed, 7 Oct 2020 18:44:50 +0530 Subject: [PATCH 2/2] Updated to fix the errors in checks --- src/auth/signup-form/signup-form.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/auth/signup-form/signup-form.js b/src/auth/signup-form/signup-form.js index 18f01154..79651954 100644 --- a/src/auth/signup-form/signup-form.js +++ b/src/auth/signup-form/signup-form.js @@ -67,11 +67,11 @@ class SignUpForm extends Component { switch (fieldName) { case "firstName": { - validFirstname = (value.match(/^[a-z][a-z]+[ ]{1}[a-z]*$/i) && value.length<15) ; + validFirstName = (value.match(/^[a-z][a-z]+[ ]{1}[a-z]*$/i) && value.length<15) ; break; } case "LastName": { - validLastname = value.length<15 && value.match(/^[a-z]+/); + validLastName = value.length<15 && value.match(/^[a-z]+/); break; } case "email": { @@ -105,8 +105,8 @@ class SignUpForm extends Component { isValidDesc: validDesc, isValidPassword: validPass, isValidPhone: validPhone, - isValidFirstName :ValidFirstName, - isvalidLastName :ValidLastName + isValidFirstName :validFirstName, + isvalidLastName :validLastName }, this.validateForm );